0001558370-24-007039.txt : 20240507 0001558370-24-007039.hdr.sgml : 20240507 20240507160547 ACCESSION NUMBER: 0001558370-24-007039 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 75 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240507 DATE AS OF CHANGE: 20240507 FILER: COMPANY DATA: COMPANY CONFORMED NAME: TopBuild Corp CENTRAL INDEX KEY: 0001633931 STANDARD INDUSTRIAL CLASSIFICATION: CONSTRUCTION SPECIAL TRADE CONTRACTORS [1700] ORGANIZATION NAME: 05 Real Estate & Construction IRS NUMBER: 473096382 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-36870 FILM NUMBER: 24921773 BUSINESS ADDRESS: STREET 1: 475 N. WILLIAMSON BLVD. CITY: DAYTONA BEACH STATE: FL ZIP: 32114 BUSINESS PHONE: (386) 304-2200 MAIL ADDRESS: STREET 1: 475 N. WILLIAMSON BLVD. CITY: DAYTONA BEACH STATE: FL ZIP: 32114 FORMER COMPANY: FORMER CONFORMED NAME: Masco SpinCo Corp. DATE OF NAME CHANGE: 20150213 10-Q 1 bld-20240331x10q.htm 10-Q
000001633931false--12-312024Q10001633931bld:ShareRepurchaseProgram2024Memberus-gaap:SubsequentEventMember2024-05-030001633931us-gaap:CommonStockMember2024-01-012024-03-310001633931us-gaap:CommonStockMember2023-01-012023-03-310001633931us-gaap:TreasuryStockCommonMember2024-03-310001633931us-gaap:RetainedEarningsMember2024-03-310001633931us-gaap:CommonStockMember2024-03-310001633931us-gaap:AdditionalPaidInCapitalMember2024-03-310001633931us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310001633931us-gaap:TreasuryStockCommonMember2023-12-310001633931us-gaap:RetainedEarningsMember2023-12-310001633931us-gaap:CommonStockMember2023-12-310001633931us-gaap:AdditionalPaidInCapitalMember2023-12-310001633931us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001633931us-gaap:TreasuryStockCommonMember2023-03-310001633931us-gaap:RetainedEarningsMember2023-03-310001633931us-gaap:CommonStockMember2023-03-310001633931us-gaap:AdditionalPaidInCapitalMember2023-03-310001633931us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-310001633931us-gaap:TreasuryStockCommonMember2022-12-310001633931us-gaap:RetainedEarningsMember2022-12-310001633931us-gaap:CommonStockMember2022-12-310001633931us-gaap:AdditionalPaidInCapitalMember2022-12-310001633931us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001633931us-gaap:EmployeeStockOptionMember2023-12-310001633931us-gaap:EmployeeStockOptionMember2024-03-310001633931bld:LongTermIncentivePlanMember2024-03-310001633931srt:MaximumMemberbld:LongTermIncentivePlanMember2024-03-310001633931us-gaap:RestrictedStockMember2023-12-310001633931us-gaap:OperatingSegmentsMemberbld:ResidentialMemberbld:InstallationSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:ResidentialMemberbld:DistributionSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:RainGuttersMemberbld:InstallationSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:RainGuttersMemberbld:DistributionSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:InsulationAndAccessoriesMemberbld:InstallationSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:InsulationAndAccessoriesMemberbld:DistributionSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:GlassAndWindowsMemberbld:InstallationSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:CommercialAndIndustrialMemberbld:InstallationSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:CommercialAndIndustrialMemberbld:DistributionSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:AllOtherProductsMemberbld:InstallationSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:AllOtherProductsMemberbld:DistributionSegmentMember2024-01-012024-03-310001633931bld:EliminationsAndReconcilingItemsMemberbld:ResidentialMember2024-01-012024-03-310001633931bld:EliminationsAndReconcilingItemsMemberbld:RainGuttersMember2024-01-012024-03-310001633931bld:EliminationsAndReconcilingItemsMemberbld:InsulationAndAccessoriesMember2024-01-012024-03-310001633931bld:EliminationsAndReconcilingItemsMemberbld:CommercialAndIndustrialMember2024-01-012024-03-310001633931bld:EliminationsAndReconcilingItemsMemberbld:AllOtherProductsMember2024-01-012024-03-310001633931bld:ResidentialMember2024-01-012024-03-310001633931bld:RainGuttersMember2024-01-012024-03-310001633931bld:InsulationAndAccessoriesMember2024-01-012024-03-310001633931bld:GlassAndWindowsMember2024-01-012024-03-310001633931bld:EliminationsAndReconcilingItemsMember2024-01-012024-03-310001633931bld:CommercialAndIndustrialMember2024-01-012024-03-310001633931bld:AllOtherProductsMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:ResidentialMemberbld:InstallationSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:ResidentialMemberbld:DistributionSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:RainGuttersMemberbld:InstallationSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:RainGuttersMemberbld:DistributionSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:InsulationAndAccessoriesMemberbld:InstallationSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:InsulationAndAccessoriesMemberbld:DistributionSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:GlassAndWindowsMemberbld:InstallationSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:CommercialAndIndustrialMemberbld:InstallationSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:CommercialAndIndustrialMemberbld:DistributionSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:AllOtherProductsMemberbld:InstallationSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:AllOtherProductsMemberbld:DistributionSegmentMember2023-01-012023-03-310001633931bld:EliminationsAndReconcilingItemsMemberbld:ResidentialMember2023-01-012023-03-310001633931bld:EliminationsAndReconcilingItemsMemberbld:RainGuttersMember2023-01-012023-03-310001633931bld:EliminationsAndReconcilingItemsMemberbld:InsulationAndAccessoriesMember2023-01-012023-03-310001633931bld:EliminationsAndReconcilingItemsMemberbld:CommercialAndIndustrialMember2023-01-012023-03-310001633931bld:EliminationsAndReconcilingItemsMemberbld:AllOtherProductsMember2023-01-012023-03-310001633931bld:ResidentialMember2023-01-012023-03-310001633931bld:RainGuttersMember2023-01-012023-03-310001633931bld:InsulationAndAccessoriesMember2023-01-012023-03-310001633931bld:GlassAndWindowsMember2023-01-012023-03-310001633931bld:EliminationsAndReconcilingItemsMember2023-01-012023-03-310001633931bld:CommercialAndIndustrialMember2023-01-012023-03-310001633931bld:AllOtherProductsMember2023-01-012023-03-310001633931us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001633931us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:InstallationSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:DistributionSegmentMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMember2024-01-012024-03-310001633931us-gaap:IntersegmentEliminationMember2024-01-012024-03-310001633931us-gaap:OperatingSegmentsMemberbld:InstallationSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMemberbld:DistributionSegmentMember2023-01-012023-03-310001633931us-gaap:OperatingSegmentsMember2023-01-012023-03-310001633931us-gaap:IntersegmentEliminationMember2023-01-012023-03-310001633931us-gaap:CorporateNonSegmentMember2024-01-012024-03-310001633931us-gaap:CorporateNonSegmentMember2023-01-012023-03-310001633931us-gaap:RetainedEarningsMember2024-01-012024-03-310001633931us-gaap:RetainedEarningsMember2023-01-012023-03-310001633931srt:MinimumMemberus-gaap:RevolvingCreditFacilityMember2024-01-012024-03-310001633931srt:MaximumMemberus-gaap:RevolvingCreditFacilityMember2024-01-012024-03-310001633931bld:AmendmentNo.4ToCreditAgreementMemberus-gaap:SecuredDebtMember2024-03-310001633931bld:AmendmentNo.4ToCreditAgreementMemberbld:DelayedDrawTermLoanFacilityTwoMember2023-07-260001633931us-gaap:RevolvingCreditFacilityMember2024-03-310001633931us-gaap:RevolvingCreditFacilityMember2023-12-310001633931bld:InstallationSegmentMember2024-01-012024-03-3100016339312022-10-012022-12-310001633931bld:InstallationSegmentMember2023-12-310001633931bld:DistributionSegmentMember2023-12-310001633931bld:DistributionSegmentMember2024-01-012024-03-310001633931bld:InstallationSegmentMember2024-03-310001633931bld:DistributionSegmentMember2024-03-310001633931us-gaap:RestrictedStockMember2024-03-310001633931bld:EquipmentNotesMember2024-01-012024-03-310001633931bld:SeniorNotesDue2032Memberus-gaap:DebtInstrumentRedemptionPeriodTwoMember2024-01-012024-03-310001633931bld:SeniorNotesDue2032Memberus-gaap:DebtInstrumentRedemptionPeriodThreeMember2024-01-012024-03-310001633931bld:SeniorNotesDue2032Memberus-gaap:DebtInstrumentRedemptionPeriodFourMember2024-01-012024-03-310001633931bld:SeniorNotesDue2032Memberus-gaap:DebtInstrumentRedemptionPeriodFiveMember2024-01-012024-03-310001633931bld:ChangeInControlScenarioMemberbld:SeniorNotesDue2032Member2024-01-012024-03-310001633931bld:ChangeInControlScenarioMemberbld:SeniorNotesDue2029Member2024-01-012024-03-310001633931bld:AmendmentNo.4ToCreditAgreementMember2024-01-012024-03-310001633931srt:MinimumMemberbld:EquipmentNotesMember2024-03-310001633931srt:MaximumMemberbld:EquipmentNotesMember2024-03-310001633931bld:AmendmentNo.4ToCreditAgreementMember2024-03-310001633931bld:SeniorNotesDue2032Memberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsNonrecurringMember2024-03-310001633931bld:SeniorNotesDue2029Memberus-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsNonrecurringMember2024-03-310001633931us-gaap:SecuredDebtMember2024-03-310001633931bld:SeniorNotesDue2032Member2024-03-310001633931bld:SeniorNotesDue2029Member2024-03-310001633931bld:EquipmentNotesMember2024-03-310001633931us-gaap:SecuredDebtMember2023-12-310001633931bld:SeniorNotesDue2032Member2023-12-310001633931bld:SeniorNotesDue2029Member2023-12-310001633931bld:EquipmentNotesMember2023-12-310001633931bld:BaseRateBorrowingsMemberbld:AmendmentNo.4ToCreditAgreementMemberbld:DelayedDrawTermLoanFacilityOneMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember2024-01-012024-03-310001633931bld:BaseRateBorrowingsMemberbld:AmendmentNo.4ToCreditAgreementMemberbld:FederalFundsRateMember2024-01-012024-03-310001633931us-gaap:AccruedLiabilitiesMember2024-03-310001633931us-gaap:AccruedLiabilitiesMember2023-12-310001633931bld:ReceivablesNetMember2024-03-310001633931bld:ReceivablesNetMember2023-12-3100016339312022-12-310001633931bld:Acquisitions2024Memberus-gaap:CustomerRelationshipsMember2024-03-310001633931bld:MorrisBlackMember2024-03-012024-03-010001633931bld:CommercialInsulationBusinessPciMember2024-03-012024-03-010001633931bld:BrabbleMember2024-02-152024-02-150001633931bld:SriHoldingsMember2023-01-012023-03-3100016339312023-03-310001633931bld:VestingBasedOnServiceMemberus-gaap:RestrictedStockMember2024-01-012024-03-310001633931bld:VestingBasedOnServiceMemberus-gaap:RestrictedStockMember2023-01-012023-03-310001633931bld:VestingBasedOnMarketConditionsMemberus-gaap:RestrictedStockMember2023-01-012023-03-310001633931us-gaap:EmployeeStockOptionMember2023-01-012023-03-310001633931us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001633931us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001633931us-gaap:TreasuryStockCommonMember2024-01-012024-03-310001633931us-gaap:TreasuryStockCommonMember2023-01-012023-03-310001633931bld:Acquisitions2024Memberus-gaap:CustomerRelationshipsMember2024-01-012024-03-3100016339312024-04-300001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2024-02-210001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2024-02-210001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2024-02-210001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2024-02-210001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2023-02-210001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2023-02-210001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2023-02-210001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2023-02-210001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2022-02-150001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2022-02-150001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2022-02-150001633931bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMemberbld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2022-02-150001633931bld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2024-02-212024-02-210001633931bld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2023-02-212023-02-210001633931bld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2022-02-152022-02-150001633931bld:VestingBasedOnPerformanceMemberbld:RestrictedStockAwardsGrantedFebruary2021Member2024-01-012024-03-310001633931bld:VestingBasedOnPerformanceMemberbld:RestrictedStockAwardsGrantedFebruary2021Member2023-01-012023-03-310001633931us-gaap:EmployeeStockOptionMember2024-01-012024-03-310001633931us-gaap:RestrictedStockMember2023-01-012023-03-310001633931us-gaap:RestrictedStockMember2022-01-012022-03-310001633931us-gaap:RestrictedStockMember2024-01-012024-03-310001633931bld:VestingBasedOnPerformanceMemberus-gaap:RestrictedStockMember2024-01-012024-03-310001633931bld:EventOfDefaultScenarioMemberus-gaap:SeniorNotesMember2024-01-012024-03-310001633931bld:SeniorNotesDue2032Member2024-03-310001633931bld:SeniorNotesDue2029Member2024-03-310001633931bld:AmendmentNo.4ToCreditAgreementMemberus-gaap:RevolvingCreditFacilityMember2024-03-3100016339312023-01-012023-03-310001633931bld:VestingBasedOnServiceMember2024-01-012024-03-310001633931bld:VestingBasedOnPerformanceMember2024-01-012024-03-310001633931bld:VestingBasedOnMarketConditionsMember2024-01-012024-03-310001633931bld:VestingBasedOnServiceMember2023-01-012023-03-310001633931bld:VestingBasedOnPerformanceMember2023-01-012023-03-310001633931bld:VestingBasedOnMarketConditionsMember2023-01-012023-03-310001633931bld:BaseRateBorrowingsMemberbld:AmendmentNo.4ToCreditAgreementMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember2024-01-012024-03-310001633931bld:SeniorNotesDue2032Memberbld:DebtInstrumentRedemptionPeriodSixMember2024-01-012024-03-310001633931bld:SofrRateBorrowingsMemberbld:AmendmentNo.4ToCreditAgreementMember2024-01-012024-03-310001633931bld:SeniorNotesDue2032Memberbld:DebtInstrumentRedemptionPeriodSevenMember2024-01-012024-03-310001633931srt:MinimumMemberbld:SofrRateBorrowingsMemberbld:AmendmentNo.4ToCreditAgreementMemberbld:DelayedDrawTermLoanFacilityOneMember2024-01-012024-03-310001633931srt:MinimumMemberbld:BaseRateBorrowingsMemberbld:AmendmentNo.4ToCreditAgreementMemberbld:DelayedDrawTermLoanFacilityOneMember2024-01-012024-03-310001633931srt:MaximumMemberbld:SofrRateBorrowingsMemberbld:AmendmentNo.4ToCreditAgreementMemberbld:DelayedDrawTermLoanFacilityOneMember2024-01-012024-03-310001633931srt:MaximumMemberbld:BaseRateBorrowingsMemberbld:AmendmentNo.4ToCreditAgreementMemberbld:DelayedDrawTermLoanFacilityOneMember2024-01-012024-03-310001633931bld:SpiMemberus-gaap:SubsequentEventMember2024-04-222024-04-220001633931bld:InsulationWorksIncMemberus-gaap:SubsequentEventMember2024-05-032024-05-0300016339312024-01-012024-03-3100016339312024-03-3100016339312023-12-31iso4217:USDxbrli:purexbrli:sharesiso4217:USDxbrli:sharesbld:segmentbld:item

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

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

TopBuild Corp.

(Exact name of Registrant as Specified in its Charter)

Delaware

(State or Other Jurisdiction of Incorporation or
Organization)

47-3096382

(I.R.S. Employer
Identification No.)

475 North Williamson Boulevard

Daytona Beach, Florida

(Address of Principal Executive Offices)

32114

(Zip Code)

(386) 304-2200

(Registrant's telephone number, including area code)

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

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common stock, par value $0.01 per share

BLD

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

The registrant had outstanding 31,817,709 shares of Common Stock, par value $0.01 per share as of April 30, 2024.

TOPBUILD CORP.

TABLE OF CONTENTS

Page No.

Part I.

Financial Information

Item 1.

Financial Statements (Unaudited)

Condensed Consolidated Balance Sheets

4

Condensed Consolidated Statements of Operations

5

Condensed Consolidated Statements of Comprehensive Income

6

Condensed Consolidated Statements of Cash Flows

7

Condensed Consolidated Statements of Changes in Equity

8

Notes to Condensed Consolidated Financial Statements

9

Item 2.

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

21

Item 3.

Quantitative and Qualitative Disclosures About Market Risk

26

Item 4.

Controls and Procedures

27

Part II.

Other Information

Item 1.

Legal Proceedings

27

Item 1A.

Risk Factors

27

Item 2.

Unregistered Sales of Equity Securities and Use of Proceeds

27

Item 3.

Defaults upon Senior Securities

27

Item 4.

Mine Safety Disclosures

27

Item 5.

Other Information

27

Item 6.

Exhibits

27

Index to Exhibits

28

Signature

29

2

GLOSSARY

We use acronyms, abbreviations, and other defined terms throughout this quarterly report on Form 10-Q, which are defined in the glossary below:

Term

Definition

3.625% Senior Notes

TopBuild's 3.625% senior unsecured notes issued March 15, 2021 and due March 15, 2029

4.125% Senior Notes

TopBuild's 4.125% senior unsecured notes issued October 14, 2021 and due February 15, 2032

2015 LTIP

2015 Long-Term Incentive Program authorizes the Board to grant stock options, stock appreciation rights, restricted shares, restricted share units, performance awards, and dividend equivalents

2022 Repurchase Program

$200 million share repurchase program authorized by the Board on July 25, 2022

Amendment No. 4

Amendment No. 4 to the Credit Agreement dated July 26, 2023

Annual Report

Annual report filed with the SEC on Form 10-K pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934

ASC

Accounting Standards Codification

ASU

Accounting Standards Update

Board

Board of Directors of TopBuild

BofA

Bank of America, N.A.

Brabble

Brabble Insulation, Inc.

Credit Agreement

Amended and Restated Credit Agreement, dated March 20, 2020, among TopBuild, BofA as administrative agent, and the other lenders and agents party thereto

Current Report

Current report filed with the SEC on Form 8-K pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934

EBITDA

Earnings before interest, taxes, depreciation, and amortization

Exchange Act

The Securities Exchange Act of 1934, as amended

FASB

Financial Accounting Standards Board

GAAP

Generally accepted accounting principles in the United States of America

Lenders

Bank of America, N.A., together with the other lenders party to "Credit Agreement"

Morris Black

Morris Black & Sons, Inc.

Net Leverage Ratio

As defined in the “Credit Agreement,” the ratio of outstanding indebtedness, less up to $100 million of unrestricted cash, to EBITDA

NYSE

New York Stock Exchange

PCI

Pest Control Insulation, LLC

Quarterly Report

Quarterly report filed with the SEC on Form 10-Q pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934

ROU

Right of use (asset), as defined in ASC 842

RSA

Restricted stock award

SEC

United States Securities and Exchange Commission

Secured Leverage Ratio

As defined in the “Credit Agreement,” the ratio of outstanding indebtedness, including letters of credit, to EBITDA

SOFR

Secured overnight financing rate

SPI

SPI LLC d/b/a Specialty Products & Insulation

SRI

SRI Holdings, LLC

Term Loan

TopBuild's secured borrowings under the "Credit Agreement" due October 7, 2026

Term Facility Two

$550 million delayed draw term loan to be used to fund the future acquisition of SPI

TopBuild

TopBuild Corp. and its wholly-owned consolidated domestic subsidiaries

3

PART I – FINANCIAL INFORMATION

Item 1. FINANCIAL STATEMENTS

TOPBUILD CORP.

CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)

(In thousands except share data)

As of

March 31, 

December 31, 

2024

2023

ASSETS

Current assets:

Cash and cash equivalents

$

968,809

$

848,565

Receivables, net of an allowance for credit losses of $22,398 at March 31, 2024, and $23,948 at December 31, 2023

829,221

 

799,009

Inventories

375,056

 

364,731

Prepaid expenses and other current assets

29,376

 

36,939

Total current assets

2,202,462

 

2,049,244

Right of use assets

201,392

204,629

Property and equipment, net

266,422

 

264,487

Goodwill

2,052,319

 

2,042,568

Other intangible assets, net

578,335

 

591,058

Other assets

9,522

 

10,865

Total assets

$

5,310,452

$

5,162,851

LIABILITIES AND EQUITY

Current liabilities:

Accounts payable

$

467,863

$

469,585

Current portion of long-term debt

46,230

47,039

Accrued liabilities

201,402

187,217

Short-term operating lease liabilities

67,041

65,780

Short-term finance lease liabilities

1,829

1,917

Total current liabilities

784,365

771,538

Long-term debt

1,362,498

1,373,028

Deferred tax liabilities, net

243,622

243,930

Long-term portion of insurance reserves

60,179

58,783

Long-term operating lease liabilities

142,552

146,213

Long-term finance lease liabilities

3,716

4,150

Other liabilities

1,487

1,554

Total liabilities

2,598,419

2,599,196

Commitments and contingencies

Equity:

Preferred stock, $0.01 par value: 10,000,000 shares authorized; 0 shares issued and outstanding

-

-

Common stock, $0.01 par value: 250,000,000 shares authorized; 39,549,030 shares issued and 31,818,099 outstanding at March 31, 2024, and 39,492,037 shares issued and 31,776,039 outstanding at December 31, 2023

395

394

Treasury stock, 7,730,931 shares at March 31, 2024, and 7,715,998 shares at December 31, 2023, at cost

(705,386)

(699,327)

Additional paid-in capital

912,481

906,334

Retained earnings

2,523,300

2,370,919

Accumulated other comprehensive loss

(18,757)

(14,665)

Total equity

2,712,033

2,563,655

Total liabilities and equity

$

5,310,452

$

5,162,851

See notes to our unaudited condensed consolidated financial statements.

4

TOPBUILD CORP.

CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)

(In thousands except share and per common share data)

Three Months Ended March 31, 

2024

2023

Net sales

$

1,278,717

    

$

1,265,238

Cost of sales

891,567

895,023

Gross profit

387,150

370,215

Selling, general, and administrative expense

172,642

170,784

Operating profit

214,508

199,431

Other income (expense), net:

Interest expense

(18,795)

(18,039)

Other, net

11,282

1,923

Other expense, net

(7,513)

(16,116)

Income before income taxes

206,995

183,315

Income tax expense

(54,614)

(47,445)

Net income

$

152,381

$

135,870

Net income per common share:

Basic

$

4.82

$

4.31

Diluted

$

4.79

$

4.28

Weighted average shares outstanding:

Basic

31,641,454

31,550,658

Diluted

31,843,818

31,713,239

See notes to our unaudited condensed consolidated financial statements.

5

TOPBUILD CORP.

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)

(In thousands)

Three Months Ended March 31, 

2024

2023

Net income

$

152,381

$

135,870

Other comprehensive (loss) income:

Foreign currency translation adjustment

(4,092)

1,753

Comprehensive income

$

148,289

$

137,623

See notes to our unaudited condensed consolidated financial statements.

6

TOPBUILD CORP.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)

(In thousands)

Three Months Ended March 31, 

2024

2023

Cash Flows Provided by (Used in) Operating Activities:

    

    

Net income

$

152,381

$

135,870

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

Depreciation and amortization

34,257

32,100

Share-based compensation

5,127

3,135

(Gain)/loss on sale of assets

(561)

185

Amortization of debt issuance costs

720

720

Provision for bad debt expense

4,464

1,338

Provision for inventory obsolescence

2,902

1,642

Deferred income taxes, net

(240)

563

Change in certain assets and liabilities:

Receivables, net

(28,486)

(10,847)

Inventories

(12,056)

20,096

Prepaid expenses and other current assets

7,541

11,579

Accounts payable

(2,659)

(25,480)

Accrued liabilities

16,170

(3,339)

Other, net

(783)

2,239

Net cash provided by operating activities

178,777

169,801

Cash Flows Provided by (Used in) Investing Activities:

Purchases of property and equipment

(19,881)

(15,580)

Acquisition of businesses, net of cash acquired

(22,240)

(45,845)

Proceeds from sale of assets

1,608

455

Net cash used in investing activities

(40,513)

(60,970)

Cash Flows Provided by (Used in) Financing Activities:

Repayment of long-term debt

(12,059)

(9,743)

Taxes withheld and paid on employees' equity awards

(6,059)

(6,350)

Exercise of stock options

1,020

1,029

Net cash used in financing activities

(17,098)

(15,064)

Impact of exchange rate changes on cash

(922)

(58)

Net increase in cash and cash equivalents

120,244

93,709

Cash and cash equivalents - Beginning of period

 

848,565

 

240,069

Cash and cash equivalents - End of period

$

968,809

$

333,778

Supplemental disclosure of noncash activities:

Leased assets obtained in exchange for new operating lease liabilities

$

13,737

$

18,271

Accruals for property and equipment

307

835

See notes to our unaudited condensed consolidated financial statements.

7

TOPBUILD CORP.

CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Unaudited)

(In thousands except share data)

Accumulated

Common

Treasury

Additional

Other

Stock

Stock

Paid-in

Retained

Comprehensive

($0.01 par value)

at cost

Capital

Earnings

(Loss) Income

Equity

Balance at December 31, 2022

$

393

$

(692,799)

$

887,367

$

1,756,665

$

(21,920)

$

1,929,706

Net income

-

-

-

135,870

-

135,870

Share-based compensation

-

-

3,135

-

-

3,135

Issuance of 95,012 restricted share awards under long-term equity incentive plan

2

-

-

-

-

2

32,594 shares withheld to pay taxes on employees' equity awards

-

(6,350)

-

-

-

(6,350)

28,840 shares issued upon exercise of stock options

-

-

1,028

-

-

1,028

Other comprehensive income, net of tax

-

-

-

-

1,753

1,753

Balance at March 31, 2023

$

395

$

(699,149)

$

891,530

$

1,892,535

$

(20,167)

$

2,065,144

Accumulated

Common

Treasury

Additional

Other

Stock

Stock

Paid-in

Retained

Comprehensive

($0.01 par value)

at cost

Capital

Earnings

Loss

Equity

Balance at December 31, 2023

$

394

$

(699,327)

$

906,334

$

2,370,919

$

(14,665)

$

2,563,655

Net income

-

-

-

152,381

-

152,381

Share-based compensation

-

-

5,127

-

-

5,127

Issuance of 51,236 restricted share awards under long-term equity incentive plan, net of forfeitures

1

-

-

-

-

1

14,933 shares withheld to pay taxes on employees' equity awards

-

(6,059)

-

-

-

(6,059)

5,757 shares issued upon exercise of stock options

-

-

1,020

-

-

1,020

Other comprehensive loss, net of tax

-

-

-

-

(4,092)

(4,092)

Balance at March 31, 2024

$

395

$

(705,386)

$

912,481

$

2,523,300

$

(18,757)

$

2,712,033

See notes to our unaudited condensed consolidated financial statements.

8

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

1.  BASIS OF PRESENTATION

TopBuild is listed on the NYSE under the ticker symbol “BLD.” We report our business in two segments: Installation and Specialty Distribution.  Our Installation segment primarily installs insulation and other building products. Our Specialty Distribution segment primarily sells and distributes insulation and other building products. Our segments are based on our operating units, for which financial information is regularly evaluated by our chief operating decision maker.

We believe the accompanying unaudited condensed consolidated financial statements contain all adjustments, of a normal recurring nature, necessary to state fairly our financial position as of March 31, 2024, our results of operations and comprehensive income for the three months ended March 31, 2024 and 2023, and our cash flows for the three months ended March 31, 2024 and 2023. The condensed consolidated balance sheet at December 31, 2023 was derived from our audited financial statements, but does not include all disclosures required by GAAP.

These condensed consolidated financial statements and related notes should be read in conjunction with the audited Consolidated Financial Statements included in the Company’s Annual report for the year ended December 31, 2023, as filed with the SEC on February 28, 2024.

2.  ACCOUNTING POLICIES

Financial Statement Presentation.  Our condensed consolidated financial statements have been developed in conformity with GAAP, which requires management to make estimates and assumptions. These estimates and assumptions affect the reported amounts of assets and liabilities and disclosures of contingent liabilities at the date of the financial statements, as well as the reported amounts of revenues and expenses during the reporting periods. Actual results could differ materially from these estimates. All intercompany transactions between TopBuild entities have been eliminated.

Recently Adopted Accounting Pronouncements

In October 2021, the FASB issued ASU 2021-08, “Accounting for Contract Assets and Contract Liabilities from Contracts with Customers”. This standard improved the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability, as well as payment terms and their effect on subsequent revenue recognized by the acquirer. This standard became effective for us on January 1, 2023, and did not have a material impact to our financial statements upon adoption.

Recently Issued Accounting Pronouncements Not Yet Adopted

In November 2023, the FASB issued ASU 2023-07, “Segment Reporting (Topic 280), Improvements to Reportable Segment Disclosures”.  This standard amends Topic 280 to require all entities to disclose, on an annual and interim basis, significant segment expenses and an amount for other segment items by reportable segment.  This standard is effective for fiscal years beginning after December 15, 2023, with early adoption permitted.  We do not anticipate that this standard will affect our consolidated results of operations, financial position or cash flows and we are assessing the impact of adoption in our disclosures to the consolidated financial statements.

In December 2023, the FASB issued ASU 2023-09, “Income Taxes (Topic 740), Improvements to Income Tax Disclosures”.  This standard amends Topic 740 to require all entities to disclose specific categories in the rate reconciliation, income taxes paid and other income tax information.  This standard is effective for fiscal years beginning after December 15, 2024, with early adoption permitted and should be applied on a prospective basis.  We do not anticipate that this standard will affect our consolidated results of operations, financial position or cash flows and we are assessing the impact of its adoption in our disclosures to our consolidated financial statements.

9

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

3.  REVENUE RECOGNITION

Revenue is disaggregated between our Installation and Specialty Distribution segments and further based on market and product, as we believe this best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.  

The following tables present our revenues disaggregated by market (in thousands):

Three Months Ended March 31, 

2024

2023

Installation

Specialty
Distribution

Eliminations

Total

Installation

Specialty
Distribution

Eliminations

Total

Residential

$

674,436

$

216,397

$

(55,990)

$

834,843

$

645,703

$

224,326

$

(51,390)

$

818,639

Commercial/Industrial

124,307

329,397

(9,830)

443,874

121,387

334,049

(8,837)

446,599

Net sales

$

798,743

$

545,794

$

(65,820)

$

1,278,717

$

767,090

$

558,375

$

(60,227)

$

1,265,238

The following tables present our revenues disaggregated by product (in thousands):

Three Months Ended March 31, 

2024

2023

Installation

Specialty
Distribution

Eliminations

Total

Installation

Specialty
Distribution

Eliminations

Total

Insulation and accessories

$

643,650

$

490,669

$

(57,509)

$

1,076,810

$

600,767

$

502,802

$

(51,973)

$

1,051,596

Glass and windows

58,117

-

-

58,117

63,442

-

-

63,442

Gutters

27,967

40,316

(7,309)

60,974

28,278

39,842

(7,165)

60,955

All other

69,009

14,809

(1,002)

82,816

74,603

15,731

(1,089)

89,245

Net sales

$

798,743

$

545,794

$

(65,820)

$

1,278,717

$

767,090

$

558,375

$

(60,227)

$

1,265,238

The following table represents our contract assets and contract liabilities with customers, in thousands:

Included in Line Item on

As of

March 31, 

December 31, 

Condensed Consolidated Balance Sheets

2024

2023

Contract Assets:

Receivables, unbilled

Receivables, net

$

70,591

$

64,882

Contract Liabilities:

Deferred revenue

Accrued liabilities

$

15,716

$

18,365

The aggregate amount remaining on uncompleted performance obligations was $392.4 million as of March 31, 2024. We expect to satisfy the performance obligations and recognize revenue on substantially all of these uncompleted contracts over the next 18 months.

On certain of our long-term contracts, a percentage of the total project cost is withheld and not invoiced to the customer and collected until satisfactory completion of the customer’s project, typically within a year. This amount is referred to as retainage and is common practice in the construction industry. Retainage receivables are classified as a component of Receivables, net on our condensed consolidated balance sheets and were $82.2 million and $81.9 million as of March 31, 2024 and December 31, 2023, respectively.

10

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

4.  GOODWILL AND OTHER INTANGIBLES

We have two reporting units which are also our operating and reporting segments: Installation and Specialty Distribution.  Both reporting units contain goodwill.  Assets acquired and liabilities assumed are assigned to the applicable reporting unit based on whether the acquired assets and liabilities relate to the operations of such unit and determination of its fair value.  Goodwill assigned to the reporting unit is the excess of the fair value of the acquired business over the fair value of the individual assets acquired and liabilities assumed for the reporting unit.

In the fourth quarter of 2023, we performed an annual assessment on our goodwill resulting in no impairment and there were no indicators of impairment for the three months ended March 31, 2024.

Changes in the carrying amount of goodwill for the three months ended March 31, 2024, by segment, were as follows, in thousands:

    

    

    

    

   Accumulated   

    

Gross Goodwill

FX Translation

Gross Goodwill

Impairment

Net Goodwill

December 31, 2023

Additions

Adjustment

March 31, 2024

Losses

March 31, 2024

Goodwill, by segment:

Installation

$

1,901,160

$

4,916

$

-

$

1,906,076

$

(762,021)

$

1,144,055

Specialty Distribution

 

903,429

 

6,261

(1,426)

 

908,264

 

-

 

908,264

Total goodwill

$

2,804,589

$

11,177

$

(1,426)

$

2,814,340

$

(762,021)

$

2,052,319

See Note 11 – Business Combinations for goodwill recognized on acquisitions that occurred during the three months ended March 31, 2024.

Other intangible assets, net includes customer relationships, non-compete agreements, and trademarks / trade names. The following table sets forth our other intangible assets, in thousands:

As of

March 31, 2024

December 31, 2023

Gross definite-lived intangible assets

    

$

832,327

$

827,793

Accumulated amortization

    

(253,992)

(236,735)

Other intangible assets, net

$

578,335

$

591,058

The following table sets forth our amortization expense, in thousands:

Three Months Ended March 31, 

    

2024

    

2023

Amortization expense

$

17,686

$

16,896

5. LONG-TERM DEBT

The following table reconciles the principal balances of our outstanding debt to our condensed consolidated balance sheets, in thousands:

As of

March 31, 2024

    

December 31, 2023

3.625% Senior Notes due 2029

$

400,000

$

400,000

4.125% Senior Notes due 2032

500,000

500,000

Term loan due 2026

521,250

532,500

Equipment notes

1,230

2,039

Unamortized debt issuance costs

(13,752)

(14,472)

Total debt, net of unamortized debt issuance costs

1,408,728

1,420,067

Less: current portion of long-term debt

46,230

47,039

Total long-term debt

$

1,362,498

$

1,373,028

11

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

The following table sets forth our remaining principal payments for our outstanding debt balances as of March 31, 2024, in thousands:

2024

2025

2026

2027

2028

Thereafter

Total

3.625% Senior Notes

$

-

$

-

$

-

$

-

$

-

$

400,000

$

400,000

4.125% Senior Notes

-

-

-

-

-

500,000

500,000

Term loan

33,750

48,750

438,750

-

-

-

521,250

Equipment notes

1,230

-

-

-

-

-

1,230

Total

$

34,980

$

48,750

$

438,750

$

-

$

-

$

900,000

$

1,422,480

Credit Agreement

On July 26, 2023, we entered into Amendment No. 4 to our Credit Agreement, which provided for a new $550.0 million Term Facility Two, the proceeds of which were intended to be used, in part, to finance the acquisition of SPI, including the payment of related fees and expenses.  Refer to Note 14 – Subsequent Events for details regarding the termination of our agreement to acquire SPI and Term Facility Two.

The following table outlines the key terms of the Credit Agreement (dollars in thousands):

Senior secured term loan facility

$

600,000

Revolving facility (a)

$

500,000

Sublimit for issuance of letters of credit under revolving facility

$

100,000

Sublimit for swingline loans under revolving facility

$

35,000

Interest rate as of March 31, 2024

6.43

%

Scheduled maturity date

10/7/2026

(a)Use of the sublimits for the issuance of letters of credit and swingline loans reduces the availability under the revolving facility.

Interest expense on borrowings under the Credit Agreement is based on an applicable margin rate plus, at our option, either:  

A base rate determined by reference to the highest of either (i) the federal funds rate plus 0.50 percent, (ii) BofA’s “prime rate,” and (iii) the SOFR rate for U.S. dollar deposits with a term of one month, plus 1.00 percent (Term Facility One); or
A SOFR rate determined by reference to the costs of funds for deposits in U.S. dollars for the interest period relevant to such borrowings, subject to a floor of 0%.

The applicable margin rate is determined based on our Secured Leverage Ratio. In the case of base rate borrowings, the applicable margin rate ranges from 0.00 percent to 1.50 percent for Term Facility One and in the case of SOFR rate borrowings, the applicable margin ranges from 1.00 percent to 2.50 percent for Term Facility One. Borrowings under the Credit Agreement are prepayable at the Company’s option without premium or penalty. The Company is required to make prepayments with the net cash proceeds of certain asset sales and certain extraordinary receipts.

Revolving Facility

The Company has outstanding standby letters of credit that secure our financial obligations related to our workers’ compensation, general insurance, and auto liability programs. These standby letters of credit, as well as any outstanding amount borrowed under our revolving facility, reduce the availability under the revolving facility.  

12

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

The following table summarizes our availability under the revolving facility, in thousands:

As of

March 31, 2024

    

December 31, 2023

Revolving facility

$

500,000

$

500,000

Less: standby letters of credit

(63,770)

(63,770)

Availability under revolving facility

$

436,230

$

436,230

We are required to pay commitment fees to the Lenders in respect of any unutilized commitments. The commitment fees range from 0.15 percent to 0.275 percent per annum, depending on our Secured Leverage Ratio. We must also pay customary fees on outstanding letters of credit.

3.625% Senior Notes

The 3.625% Senior Notes are $400.0 million senior unsecured obligations and bear interest at 3.625% per year, payable semiannually in arrears on March 15 and September 15, beginning on September 15, 2021. The 3.625% Senior Notes mature on March 15, 2029, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the 3.625% Senior Notes then outstanding at a repurchase price equal to 101% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date. The Company may redeem the 3.625% Senior Notes, in whole or in part, at any time on or after March 15, 2024 at the redemption prices specified in the notes.

4.125% Senior Notes

The 4.125% Senior Notes are $500.0 million senior unsecured obligations and bear interest at 4.125% per year, payable semiannually in arrears on February 15 and August 15, beginning on August 15, 2022. The 4.125% Senior Notes mature on February 15, 2032, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the 4.125% Senior Notes then outstanding at a repurchase price equal to 101% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date. 

The Company may redeem the 4.125% Senior Notes, in whole or in part, at any time on or after October 15, 2026 at the redemption prices specified in the notes plus accrued and unpaid interest if redeemed during the 12 month period commencing on October 15 of the years set for: 2026 – 102.063%, 2027 – 101.375%, 2028 – 100.688%, 2029 and thereafter – 100.000%. The Company may also redeem a make-whole redemption of the 4.125% Senior Notes at any time prior to October 15, 2026 at the treasury rate plus 50 basis points. Additionally, the Company may redeem up to 40% of the aggregate principal amount of the 4.125% Senior Notes prior to October 15, 2024 with the net cash proceeds of certain sales of its capital stock at 104.125% of the principal amount of the notes, plus accrued and unpaid interest, if any, to the date of redemption only if, after the redemption, at least 60% of the aggregate principal amount of the notes originally issued remains outstanding.

Equipment Notes

We did not issue equipment notes during the three months ended March 31, 2024. The balance of equipment notes, which were issued for the purpose of financing vehicles and equipment, was $1.2 million as of March 31, 2024. The Company’s equipment notes each have a five year term maturing in 2024 and bear interest at fixed rates between 2.8% and 4.4%.

13

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

  Covenant Compliance

The indentures governing our 3.625% Senior Notes and our 4.125% Senior Notes (together, our “Senior Notes”) contain restrictive covenants that, among other things, generally limit the ability of the Company and certain of its subsidiaries (subject to certain exceptions) to (i) create liens, (ii) pay dividends, acquire shares of capital stock and make payments on subordinated debt, (iii) place limitations on distributions from certain subsidiaries, (iv) issue or sell the capital stock of certain subsidiaries, (v) sell assets, (vi) enter into transactions with affiliates, and (vii) effect mergers. The indentures provide for customary events of default which include (subject in certain cases to customary grace and cure periods), among others: nonpayment of principal or interest; breach of covenants or other agreements in the indenture; defaults in failure to pay certain other indebtedness; and certain events of bankruptcy or insolvency. Generally, if an event of default occurs and is continuing under the indenture, the trustee or the holders of at least 30% in aggregate principal amount of each of our Senior Notes then outstanding may declare the principal of, premium, if any, and accrued interest on the Senior Notes subject to such declaration immediately due and payable. The Senior Notes and related guarantees have not been registered under the Securities Act of 1933, and we are not required to register either the Senior Notes or the guarantees in the future.

The Credit Agreement contains certain covenants that limit, among other things, the ability of the Company to incur additional indebtedness or liens; to make certain investments or loans; to make certain restricted payments; to enter into consolidations, mergers, sales of material assets, and other fundamental changes; to transact with affiliates; to enter into agreements restricting the ability of subsidiaries to incur liens or pay dividends; or to make certain accounting changes.  The Credit Agreement contains customary affirmative covenants and events of default.

The Credit Agreement requires that we maintain a Net Leverage Ratio and minimum Interest Coverage Ratio throughout the term of the agreement. The following table outlines the key financial covenants effective for the period covered by this Quarterly Report:

As of March 31, 2024

Maximum Net Leverage Ratio

3.50:1.00

Minimum Interest Coverage Ratio

3.00:1.00

Compliance as of period end

In Compliance

6. FAIR VALUE MEASUREMENTS

Fair Value on Recurring Basis

The carrying values of cash and cash equivalents, receivables, net, and accounts payable are considered to be representative of their respective fair values due to the short-term nature of these instruments. We measure our contingent consideration
liabilities related to business combinations at fair value.

Fair Value on Non-Recurring Basis

Fair value measurements were applied to our long-term debt portfolio. We believe the carrying value of our term loan and equipment notes approximate their fair market value primarily due to the fact that the non-performance risk of servicing our debt obligations, as reflected in our business and credit risk profile, has not materially changed since we assumed our debt obligations under the Credit Agreement. In addition, due to the floating-rate nature of our term loan, the market value is not subject to variability solely due to changes in the general level of interest rates as is the case with a fixed-rate debt obligation. Based on market trades of our 3.625% Senior Notes and our 4.125% Senior Notes close to March 31, 2024 (Level 1 fair value measurement), we estimate the fair value of each in the table below:  

As of March 31, 2024

Fair Value

Gross Carrying Value

3.625% Senior Notes

$

364,940

$

400,000

4.125% Senior Notes

$

445,000

$

500,000

14

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

7.  SEGMENT INFORMATION

The following tables set forth our net sales and operating results by segment, in thousands:

Three Months Ended March 31, 

2024

2023

2024

2023

Net Sales

Operating Profit (b)

Operations by segment (a):

Installation

$

798,743

$

767,090

$

156,757

$

146,897

Specialty Distribution

545,794

558,375

77,579

73,333

Intercompany eliminations

(65,820)

(60,227)

(10,761)

(9,971)

Total

$

1,278,717

$

1,265,238

223,575

210,259

General corporate expense, net (c)

(9,067)

(10,828)

Operating profit, as reported

214,508

199,431

Other expense, net

(7,513)

(16,116)

Income before income taxes

$

206,995

$

183,315

(a)All of our operations are located primarily in the U.S. and to a lesser extent Canada.
(b)Segment operating profit includes an allocation of general corporate expenses attributable to the operating segments which is based on direct benefit or usage (such as salaries of corporate employees who directly support the segment).
(c)General corporate expense, net includes expenses not specifically attributable to our segments for functions such as corporate human resources, finance, and legal, including salaries, benefits, and other related costs.

8.  INCOME TAXES    

Our effective tax rates were 26.4 percent and 25.9 percent for the three months ended March 31, 2024 and March 31, 2023, respectively. The higher 2024 tax rate was primarily related to an increase in tax expense related to share-based compensation.

A tax expense of $2.0 million related to share-based compensation was recognized in our condensed consolidated statements of operations as a discrete item in income tax expense for the three months ended March 31, 2024.

15

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

9. NET INCOME PER SHARE

Basic net income per share is calculated by dividing net income by the number of weighted average shares outstanding during the period, without consideration for common stock equivalents. Diluted net income per share is calculated by adjusting the number of weighted average shares outstanding for the dilutive effect of common stock equivalents outstanding for the period, determined using the treasury stock method.

Basic and diluted net income per share were computed as follows:

Three Months Ended March 31, 

2024

2023

Net income (in thousands)

$

152,381

$

135,870

Weighted average number of common shares outstanding - basic

31,641,454

31,550,658

Dilutive effect of common stock equivalents:

RSAs with service-based conditions

41,832

22,643

RSAs with market-based conditions

50,955

24,861

RSAs with performance-based conditions

14,429

29,031

Stock options

95,148

86,046

Weighted average number of common shares outstanding - diluted

31,843,818

31,713,239

Basic net income per common share

$

4.82

$

4.31

Diluted net income per common share

$

4.79

$

4.28

The following table summarizes shares excluded from the calculation of diluted net income per share because their effect would have been anti-dilutive:

Three Months Ended March 31, 

2024

 

2023

Anti-dilutive common stock equivalents:

RSAs with service-based conditions

14

11,163

RSAs with market-based conditions

-

8,933

RSAs with performance-based conditions

-

-

Stock options

-

22,280

Total anti-dilutive common stock equivalents

14

42,376

10. SHARE-BASED COMPENSATION

Eligible employees participate in the 2015 LTIP, which authorizes the Board to grant stock options, stock appreciation rights, restricted shares, restricted share units, performance awards, and dividend equivalents.  All grants are made by issuing new shares and no more than 4.0 million shares of common stock may be issued under the 2015 LTIP. As of March 31, 2024, we had 1.7 million shares remaining available for issuance under the 2015 LTIP.

Share-based compensation expense is included in selling, general, and administrative expense. The income tax effect associated with share-based compensation awards is included in income tax expense.  

16

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

The following table presents share-based compensation amounts recognized in our condensed consolidated statements of operations, in thousands:

Three Months Ended March 31, 

2024

2023

Share-based compensation expense

$

5,127

$

3,135

Income tax expense

$

(2,009)

$

(45)

The following table presents a summary of our share-based compensation activity for the three months ended March 31, 2024, in thousands, except per share amounts:

RSAs

Stock Options

Number of Shares

   

Weighted Average Grant Date Fair Value Per Share

   

Number of Shares

   

Weighted Average Grant Date Fair Value Per Share

   

Weighted Average Exercise Price Per Share

   

Aggregate
Intrinsic
Value

Balance December 31, 2023

195.5

$

223.49

128.7

$

36.65

$

98.58

$

35,462.8

Granted

42.6

$

419.56

$

$

Converted/Exercised

(48.2)

$

230.09

(5.8)

$

70.25

$

177.53

$

1,355.3

Forfeited/Expired

(2.2)

$

276.34

$

$

Balance March 31, 2024

187.7

$

265.84

122.9

$

35.08

$

94.88

$

42,498.1

Exercisable March 31, 2024 (a)

122.9

$

35.08

$

94.88

$

42,498.1

(a)The weighted average remaining contractual term for vested stock options is approximately 5.1 years.

We have unrecognized share-based compensation expense related to unvested awards as shown in the following table, dollars in thousands:

As of March 31, 2024

Unrecognized Compensation Expense
on Unvested Awards

Weighted Average
Remaining
Compensation Expense Period

RSAs

$

31,455

1.2

Stock options

Total unrecognized compensation expense related to unvested awards

$

31,455

Our RSAs with performance-based conditions are evaluated on a quarterly basis with adjustments to compensation expense based on the likelihood of the performance target being achieved or exceeded. The following table shows the range of payouts and the related expense for our outstanding RSAs with performance-based conditions, in thousands:

Payout Ranges and Related Expense

RSAs with Performance-Based Conditions

Grant Date Fair Value

0%

25%

100%

200%

February 15, 2022

$

2,986

$

-

$

747

$

2,986

$

5,972

February 21, 2023

$

4,054

$

-

$

1,014

$

4,054

$

8,108

February 21, 2024

$

4,846

$

-

$

1,212

$

4,846

$

9,692

During the first quarter of 2024, RSAs with performance-based conditions that were granted on February 16, 2021 vested based on cumulative three-year achievement of 200%. Total compensation expense recognized over the three-year performance period, net of forfeitures, was $4.4 million.

17

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

The fair value of our RSAs with a market-based condition granted under the 2015 LTIP was determined using a Monte Carlo simulation. The following are key inputs in the Monte Carlo analysis for awards granted in 2024, 2023, and 2022:

2024

2023

2022

Measurement period (years)

2.86

2.86

2.87

Risk free interest rate

4.36

%

4.42

%

1.76

%

Dividend yield

0.00

%

0.00

%

0.00

%

Estimated fair value of market-based RSAs at grant date

$

503.68

$

270.64

$

298.20

11. BUSINESS COMBINATIONS

Acquiring businesses is a key part of our ongoing strategy to grow our company and expand our market share. Each acquisition has been accounted for as a business combination under ASC 805, “Business Combinations.” Acquisition related costs were $0.5 million and $1.7 million in the three months ended March 31, 2024 and 2023, respectively. Acquisition related costs are included in selling, general, and administrative expense in our condensed consolidated statements of operations.

On February 15, 2024, we acquired the assets of the residential and light commercial insulation business Brabble. This installation acquisition enhanced our presence in North Carolina. The purchase price of $5.4 million was funded by cash on hand and we recognized $3.0 million of goodwill in connection with this acquisition.

On March 1, 2024, we acquired the assets of the residential insulation business Morris Black. This installation acquisition enhanced our presence in the Pennsylvania market. The purchase price of $3.6 million was funded by cash on hand and we recognized $2.0 million of goodwill in connection with this acquisition.

On March 1, 2024, we acquired the assets of the customized insulation products and accessories business PCI. This specialty distribution acquisition has a national customer base focused on the domestic pest control industry.  The purchase price of $13.3 million was funded by cash on hand and we recognized $6.3 million of goodwill in connection with this acquisition.

The estimate of acquired customer relationships related to our 2024 acquisitions was $6.0 million and the weighted average useful life is 12 years.

As third-party or internal valuations are finalized, certain tax aspects of the foregoing transactions are completed, and customer post-closing reviews are concluded, adjustments may be made to the fair value of assets acquired, and in some cases total purchase price, through the end of each measurement period, generally one year following the applicable acquisition date.  

During the three months ended March 31, 2023, we acquired SRI and the purchase price of $45.3 was funded by cash on hand and we recognized goodwill of $23.1 million in connection with this acquisition.

Goodwill to be recognized in connection with acquisitions is attributable to the synergies expected to be realized and improvements in the businesses after the acquisitions. Primarily all of the $11.2 million and $23.1 million of goodwill recorded from acquisitions completed in the three months ended March 31, 2024 and 2023, respectively, is expected to be deductible for income tax purposes.

18

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

12.  ACCRUED LIABILITIES

The following table sets forth the components of accrued liabilities, in thousands:

As of

    

March 31, 2024

    

December 31, 2023

Accrued liabilities:

Salaries, wages, and bonus/commissions

$

53,145

$

67,471

Income tax payable

46,554

389

Insurance liabilities

31,197

29,920

Sales and property taxes

15,986

17,002

Deferred revenue

15,716

18,365

Customer rebates

12,177

17,326

Interest payable on long-term debt

3,357

12,139

Other

23,270

24,605

Total accrued liabilities

$

201,402

$

187,217

See Note 3 – Revenue Recognition for discussion of our deferred revenue balances. Accrued income taxes payable increased significantly compared to December 31, 2023 due to timing of tax payments, which typically occur later in the year.

13.  OTHER COMMITMENTS AND CONTINGENCIES

Litigation.  We are subject to certain claims, charges, litigation, and other proceedings in the ordinary course of our business, including those arising from or related to contractual matters, intellectual property, personal injury, environmental matters, product liability, product recalls, construction defects, insurance coverage, personnel and employment disputes, antitrust, and other matters, including class actions. We believe we have adequate defenses in these matters, and we do not believe that the ultimate outcome of these matters will have a material adverse effect on us.  However, there is no assurance that we will prevail in any of these pending matters, and we could in the future incur judgments, enter into settlements of claims, or revise our expectations regarding the outcome of these matters, which could materially impact our liquidity and our results of operations.

Other Matters.  We enter into contracts, which include customary indemnities that are standard for the industries in which we operate. Such indemnities include, among other things, claims against our builder customers for issues relating to our workmanship. We generally exclude from our contracts with builder customers indemnity relating to product quality and warranty claims, as we pass such claims directly to the manufacturers of the products we install or distribute. In conjunction with divestitures and other transactions, we occasionally provide customary indemnities relating to various items including, among others, the enforceability of trademarks, legal and environmental issues, and asset valuations. We evaluate the probability that we may incur liabilities under these customary indemnities and appropriately record an estimated liability when deemed probable.

We also maintain indemnification agreements with our directors and officers that may require us to indemnify them against liabilities that arise by reason of their status or service as directors or officers, except as prohibited by applicable law.

We occasionally use performance bonds to ensure completion of our work on certain larger customer contracts that can span multiple accounting periods. Performance bonds generally do not have stated expiration dates; rather, we are released from the bonds as the contractual performance is completed. We also have bonds outstanding for license and insurance.

19

Table of Contents

TOPBUILD CORP.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (Continued)

The following table summarizes our outstanding performance, licensing, insurance, and other bonds, in thousands:

As of

March 31, 2024

December 31, 2023

Outstanding bonds:

Performance bonds

$

141,380

$

145,982

Licensing, insurance, and other bonds

27,979

27,415

Total bonds

$

169,359

$

173,397

14.  SUBSEQUENT EVENTS

On April 22, 2024, we agreed to a mutual termination of our previous agreement to acquire SPI, originally announced on July 27, 2023. We withdrew our Hart-Scott Rodino filings and were required to pay a termination fee of $23.0 million to the seller under the terms of the purchase agreement. In connection with the termination of the SPI acquisition, the Company terminated the commitments with respect to its undrawn Term Facility Two which was provided pursuant to Amendment No. 4. All other terms of the Company’s Credit Agreement, as amended, remain in full force and effect.

On May 3, 2024, our Board authorized the 2024 Repurchase Program, pursuant to which the Company may purchase up to $1.0 billion of our common stock.  Share repurchases may be executed through various means including open market purchases, privately negotiated transactions, accelerated share repurchase transactions, or other available means.  The 2024 Repurchase Program does not obligate the Company to purchase any shares and has no expiration date.  Authorization for the 2024 Repurchase Program may be terminated, increased, or decreased by the Board at its discretion at any time.

On May 3, 2024, we entered into an agreement to acquire the assets of the residential insulation business Insulation Works, Inc., which is expected to close in mid-May 2024. This installation acquisition will enhance our presence in the Arkansas market and extend our expertise to the agricultural market. The purchase price of approximately $25.2 million is expected to be funded by cash on hand. This acquisition will be accounted for as a business combination under ASC 805, “Business Combinations.”

20

Item 2. MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

OVERVIEW

TopBuild, headquartered in Daytona Beach, Florida, is a leading installer and specialty distributor of insulation and other building material products to the construction industry in the United States and Canada.

We operate in two segments: Installation and Specialty Distribution. Our Installation segment installs insulation and other building products nationwide. As of March 31, 2024, we had approximately 240 Installation branches located across the United States. We install various insulation applications, including fiberglass batts and rolls, blown-in loose fill fiberglass, polyurethane spray foam, and blown-in loose fill cellulose. Additionally, we install other building products including glass and windows, rain gutters, garage doors, closet shelving, and fireplaces, among other items. We handle every stage of the installation process, including material procurement supplied by leading manufacturers, project scheduling and logistics, multi-phase professional installation, and installation quality assurance.

Our Specialty Distribution segment distributes building and mechanical insulation, insulation accessories, rain gutters, and other building product materials for the residential and commercial/industrial end markets. As of March 31, 2024, we had approximately 150 distribution centers located across the United States and 18 distribution centers in Canada. Our Specialty Distribution customer base consists of thousands of insulation contractors of all sizes serving a wide variety of residential and commercial/industrial industries, gutter contractors, weatherization contractors, other contractors, dealers, metal building erectors, and modular home builders.

We believe that having both Installation and Specialty Distribution provides us with several distinct competitive advantages.  First, the combined buying power of our two business segments, along with our scale, strengthens our ties to the major manufacturers of insulation and other building material products. This helps to ensure we are buying competitively and ensures the availability of supply to our local branches and distribution centers.  The overall effect is driving efficiencies through our supply chain. Second, being a leader in both installation and specialty distribution allows us to reach a broader set of builders and contractors more effectively, regardless of their size or geographic location in the U.S. and Canada, and leverage housing and commercial/industrial construction growth wherever it occurs. Third, during housing industry downturns, many insulation contractors who buy directly from manufacturers during industry peaks return to purchasing through specialty distributors. As a result, this helps to reduce our exposure to cyclical swings in our business.

For additional details pertaining to our operating results by segment, see Note 7 – Segment Information to our unaudited condensed consolidated financial statements contained in Part I, Item 1 of this Quarterly Report. For additional details regarding our strategy, material trends in our business and seasonality, please refer to Part II, Item 7, “Management’s Discussion and Analysis of Financial Condition and Results of Operations” in our Annual Report for the year ended December 31, 2023, as filed with the SEC on February 28, 2024.

The following discussion and analysis contains forward-looking statements and should be read in conjunction with the unaudited condensed consolidated financial statements, the notes thereto, and the section entitled “Forward-Looking Statements” included in this Quarterly Report.

21

FIRST QUARTER 2024 VERSUS FIRST QUARTER 2023

The following table sets forth our net sales, gross profit, operating profit, and margins, as reported in our condensed consolidated statements of operations, in thousands:

Three Months Ended March 31, 

2024

2023

Net sales

$

1,278,717

$

1,265,238

Cost of sales

891,567

895,023

Cost of sales ratio

69.7

%

70.7

%

Gross profit

387,150

370,215

Gross profit margin

30.3

%

29.3

%

Selling, general, and administrative expense

172,642

170,784

Selling, general, and administrative expense to sales ratio

13.5

%

13.5

%

Operating profit

214,508

199,431

Operating profit margin

16.8

%

15.8

%

Other expense, net

(7,513)

(16,116)

Income tax expense

(54,614)

(47,445)

Net income

$

152,381

$

135,870

Net margin

11.9

%

10.7

%

Sales and Operations

Net sales increased 1.1% for the three months ended March 31, 2024, from the comparable period of 2023. The increase was primarily driven by a 2.3% increase in sales from acquisitions and a 1.3% impact from higher selling prices, partially offset by a 2.0% decline in sales volume and a decline of 0.5% driven by the disposition of a non-core business.

 

Gross profit margins were 30.3% and 29.3% for the three months ended March 31, 2024 and 2023, respectively. Gross profit margin improved primarily due to productivity initiatives and higher selling prices.

Selling, general, and administrative expenses as a percentage of sales were 13.5% for the three months ended March 31, 2024 and 2023, respectively. Selling, general, and administrative expenses were relatively flat to the prior year period.

Operating margins were 16.8% and 15.8% for the three months ended March 31, 2024 and 2023, respectively. The increase in operating margins was due to productivity initiatives and higher selling prices, partially offset by higher material costs and lower sales volume in our Specialty Distribution segment.

22

Business Segment Results

The following table sets forth our net sales and operating profit margins by business segment, in thousands:

Three Months Ended March 31, 

    

2024

    

2023

    

Percent Change

 

Net sales by business segment:

Installation

$

798,743

$

767,090

4.1

%

Specialty Distribution

545,794

558,375

(2.3)

%

Intercompany eliminations

(65,820)

(60,227)

Net sales

$

1,278,717

$

1,265,238

1.1

%

Operating profit by business segment:

Installation

$

156,757

$

146,897

6.7

%

Specialty Distribution

77,579

73,333

5.8

%

Intercompany eliminations

(10,761)

(9,971)

Operating profit before general corporate expense

223,575

210,259

6.3

%

General corporate expense, net

(9,067)

(10,828)

Operating profit

$

214,508

$

199,431

7.6

%

Operating profit margins:

Installation

19.6

%

19.1

%

Specialty Distribution

14.2

%

13.1

%

Operating profit margin before general corporate expense

17.5

%

16.6

%

Operating profit margin

16.8

%

15.8

%

Installation

Sales

Sales in our Installation segment increased $31.7 million, or 4.1%, for the three months ended March 31, 2024, as compared to the same period in 2023. Sales increased 3.5% from acquisitions, 1.2% from higher selling prices, and 0.3% due to higher sales volume, partially offset by a decline of 0.9% driven by the disposition of a non-core business.

Operating margins

Operating margins in our Installation segment were 19.6% and 19.1% for the three months ended March 31, 2024 and 2023, respectively. The increase in operating margin was driven by productivity initiatives and higher selling prices which were partially offset by higher material costs.

Specialty Distribution

Sales

Sales in our Specialty Distribution segment decreased $12.6 million, or 2.3%, for the three months ended March 31, 2024, as compared to the same period in 2023. Sales decreased 4.2% from decline of sales volume, partially offset by 1.5% increase in higher selling prices and 0.4% increase from acquisitions.

Operating margins

Operating margins in our Specialty Distribution segment were 14.2% and 13.1% for the three months ended March 31, 2024 and 2023, respectively.  The increase in operating margin was driven by productivity initiatives and higher selling prices, partially offset by higher material costs and lower sales volume.

23

OTHER ITEMS

Other expense, net

Other expense, net, decreased to $7.5 million for the three months ended March 31, 2024 from $16.1 million in the three months ended March 31, 2023. The decrease was driven by $9.0 million higher interest income due to increased cash balances and higher deposit rates compared to the three months ended March 31, 2023. Interest expense increased by $0.8 million for the three months ended March 31, 2024 due to higher interest rates on borrowings under the Credit Agreement compared to the same period in 2023.

Income tax expense

Income tax expense was $54.6 million, an effective tax rate of 26.4 percent, for the three months ended March 31, 2024, compared to $47.4 million, an effective tax rate of 25.9 percent, for the comparable period in 2023. The tax rate for the three months ended March 31, 2024, was higher primarily related to an increase in tax expense related to share-based compensation.

Cash Flows and Liquidity

Significant sources (uses) of cash and cash equivalents are summarized for the periods indicated, in thousands:

Three Months Ended March 31, 

    

2024

    

2023

Changes in cash and cash equivalents:

Net cash provided by operating activities

$

178,777

$

169,801

Net cash used in investing activities

 

(40,513)

 

(60,970)

Net cash used in financing activities

(17,098)

(15,064)

Impact of exchange rate changes on cash

(922)

(58)

Net increase in cash and cash equivalents

$

120,244

$

93,709

Net cash flows provided by operating activities increased $9.0 million for the three months ended March 31, 2024, as compared to the prior year period primarily due to the increase of net income of $16.5 million compared with the prior year period.

Net cash used in investing activities was $40.5 million for the three months ended March 31, 2024, primarily composed of $22.2 million for our acquisitions and $19.9 million for purchases of property and equipment, mainly vehicles, partially offset by $1.6 million proceeds received from the sale of assets. Net cash used in investing activities was $61.0 million for the three months ended March 31, 2023, primarily composed of $45.8 million for the acquisition of SRI and $15.6 million for purchases of property and equipment, mainly vehicles and machinery & equipment.

Net cash used in financing activities was $17.1 million for the three months ended March 31, 2024.  During the three months ended March 31, 2024, we used $12.1 million for debt repayments and incurred $5.0 million net cash outflow related to exercise of share-based incentive awards and stock options. Net cash used in financing activities was $15.1 million for the three months ended March 31, 2023. During the three months ended March 31, 2023, we used $9.7 million for debt repayments, and $5.3 million net activity related to exercise of share-based incentive awards and stock options.

We have access to liquidity through our cash from operations and available borrowing capacity under our Credit Agreement, which provides for borrowing and/or standby letter of credit issuances of up to $500 million under the Revolving Facility. Additional information regarding our outstanding debt and borrowing capacity is incorporated by reference from Note 5 – Long-term Debt to our unaudited condensed consolidated financial statements contained in Part 1, Item 1 of this Quarterly Report.  

24

The following table summarizes our liquidity, in thousands:

As of

March 31, 

December 31, 

    

2024

    

2023

Cash and cash equivalents (a)

$

968,809

$

848,565

Revolving facility

500,000

500,000

Less: standby letters of credit

(63,770)

(63,770)

Availability under Revolving facility

436,230

436,230

Total liquidity

$

1,405,039

$

1,284,795

(a)Our cash and cash equivalents consist of AAA-rated money market funds as well as cash held in our demand deposit accounts.

We believe that our cash flows from operations, combined with our current cash levels and available borrowing capacity, will be adequate to support our ongoing operations and known contractual obligations including funding our debt service requirements, capital expenditures, lease obligations and working capital needs for at least the next twelve months. We also have adequate liquidity to maintain off-balance sheet arrangements for short-term leases, letters of credit, and performance and license bonds. Information regarding our outstanding bonds as of March 31, 2024, is incorporated by reference from Note 13 – Other Commitments and Contingencies to our unaudited condensed consolidated financial statements contained in Part I, Item 1 of this Quarterly Report.

OUTLOOK

Residential New Construction

Home builders continue to report improving demand resulting in single-family housing starts that improved in the first quarter in comparison to the prior year.  Multifamily construction activity also remains strong but starts have slowed, in comparison to the prior year.  While there is a strong backlog of multi-family units that need to be completed, we do expect multifamily activity to decline as we move towards 2025. Single-family housing is a larger proportion of the overall housing market as well as a larger proportion of our market share. Overall, despite uncertainty around the economy and the impact of higher interest rates, we remain optimistic about the long-term fundamentals of the U.S. housing market, supported by a limited supply of both new and existing homes, favorable demographic trends, and increasing household formations. 

Commercial and Industrial Construction

Our commercial backlog is strong, and our bidding activity is active, both of which continue to support our optimistic view of commercial/industrial sales at our Installation and Specialty Distribution segments.  There are many major projects being planned across several different industries fueling demand. In addition, maintenance and repair work on industrial sites will serve as a continued driver for our Specialty Distribution business.

OFF-BALANCE SHEET ARRANGEMENTS

We had no material off-balance sheet arrangements during the three months ended March 31, 2024, other than short-term leases, letters of credit, and performance and license bonds, which have been disclosed in Part 1, Item 1 of this Quarterly report.

CONTRACTUAL OBLIGATIONS

There have been no material changes to our contractual obligations from those previously disclosed in our Annual Report for the year ended December 31, 2023, as filed with the SEC on February 28, 2024.

25

CRITICAL ACCOUNTING POLICIES

We prepare our condensed consolidated financial statements in conformity with GAAP. The preparation of these financial statements requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities, and disclosure of contingent assets and liabilities, at the date of the financial statements, and the reported amounts of sales and expenses during the reporting period. Actual results could differ from those estimates. Our critical accounting policies have not changed from those previously reported in our Annual Report for the year ended December 31, 2023, as filed with the SEC on February 28, 2024.

APPLICATION OF NEW ACCOUNTING STANDARDS

Information regarding application of new accounting standards is incorporated by reference from Note 2 – Accounting Policies to our unaudited condensed consolidated financial statements contained in Part I, Item 1 of this Quarterly Report.

FORWARD-LOOKING STATEMENTS

Statements contained in this report that reflect our views about future periods, including our future plans and performance, constitute “forward-looking statements” under the Private Securities Litigation Reform Act of 1995. Forward-looking statements can be identified by words such as “will,” “would,” “should,” “anticipate,” “expect,” “believe,” “designed,” “plan,” “may,” “project,” “estimate”  or “intend,” the negative of these terms, and similar references to future periods.  These views involve risks and uncertainties that are difficult to predict and, accordingly, our actual results may differ materially from the results discussed in our forward-looking statements. We caution you against unduly relying on any of these forward-looking statements. Our future performance may be affected by the duration and impact of negative macro-economic impacts on the United States economy, specifically with respect to residential, commercial/industrial construction, our ability to collect our receivables from our customers, our reliance on residential new construction, residential repair/remodel, and commercial/industrial construction; our reliance on third-party suppliers and manufacturers; our ability to attract, develop, and retain talented personnel and our sales and labor force; our ability to maintain consistent practices across our locations; our ability to maintain our competitive position; and our ability to realize the expected benefits of our acquisitions. We discuss the material risks we face under the caption entitled “Risk Factors” in our Annual Report for the year ended December 31, 2023, as filed with the SEC on February 28, 2024, as well as under the caption entitled “Risk Factors” in subsequent reports that we file with the SEC. Our forward-looking statements in this filing speak only as of the date of this filing. Factors or events that could cause our actual results to differ may emerge from time to time and it is not possible for us to predict all of them.  Unless required by law, we undertake no obligation to update publicly any forward-looking statements as a result of new information, future events, or otherwise.

Item 3.  QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

Interest Rate Risk

We have a Term Loan outstanding with a principal balance of $521.3 million and a revolving facility with an aggregate borrowing capacity of $500.0 million. We also have outstanding 3.625% Senior Notes with an aggregate principal balance of $400.0 million and 4.125% Senior Notes with an aggregate principal balance of $500.0 million. The 3.625% Senior Notes and 4.125% Senior Notes bear a fixed rate of interest and therefore are excluded from the calculation below as they are not subject to fluctuations in interest rates.

Interest payable on both the aggregate Term Loan and Revolving Facility is based on a variable interest rate.  As a result, we are exposed to market risks related to fluctuations in interest rates on this outstanding indebtedness. As of March 31, 2024, the applicable interest rate as of such date was 6.43%. Based on our outstanding borrowings as of March 31, 2024, a 100-basis point increase in the interest rate would result in a $5.0 million increase in our annualized interest expense. There was no outstanding balance under the Revolving Facility as of March 31, 2024.

26

Item 4.  CONTROLS AND PROCEDURES

Evaluation of Disclosure Controls and Procedures

 

As of the end of the period covered by this Quarterly Report, we carried out an evaluation, under the supervision and with the participation of our principal executive officer and principal financial officer, of the effectiveness of the design and operation of our disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act). Based on this evaluation, our principal executive officer and principal financial officer concluded that our disclosure controls and procedures were effective as of March 31, 2024.

Changes in Internal Control over Financial Reporting

 

There was no change in the Company’s internal control over financial reporting (as such term is defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) in the most recent fiscal quarter ended March 31, 2024, that has materially affected, or is reasonably likely to materially affect, the Company’s internal control over financial reporting.

PART II – OTHER INFORMATION

Item 1.  LEGAL PROCEEDINGS

The information set forth under the caption “Litigation” in Note 13 – Other Commitments and Contingencies to our unaudited condensed consolidated financial statements contained in Part I, Item 1 of this Quarterly Report, is incorporated by reference herein.

Item 1A.  RISK FACTORS

There have been no material changes to our risk factors as previously disclosed in our Annual Report for the year ended December 31, 2023, as filed with the SEC on February 28, 2024 which are incorporated by reference herein.

Item 2.  UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS

On July 25, 2022, our Board authorized the 2022 Repurchase Program, pursuant to which the Company may purchase up to $200 million of our common stock. There were no share repurchases executed during the three months ended March 31, 2024, leaving $154.4 million remaining under the 2022 Share Repurchase Program. Excluded from this disclosure are shares repurchased to settle statutory employee tax withholdings related to the vesting of stock awards.

Item 3.  DEFAULTS UPON SENIOR SECURITIES

Not applicable.

Item 4.  MINE SAFETY DISCLOSURES

Not applicable.

Item 5.  OTHER INFORMATION

During the quarter ended March 31, 2024, no director or officer (as defined in Rule 16a-1(f) promulgated under the Exchange Act) of the Company adopted or terminated a "Rule 10b5-1 trading arrangement" or "non-Rule 10b5-1 trading arrangement" (as each term is defined in Item 408 of Regulation S-K).

Item 6. EXHIBITS

The Exhibits listed on the accompanying Index to Exhibits are filed or furnished (as noted on such Index) as part of this Quarterly Report and incorporated herein by reference.

27

INDEX TO EXHIBITS

 

Incorporated by Reference

Filed

Exhibit No.

 

Exhibit Title

 

Form

 

Exhibit

 

Filing Date

 

Herewith

31.1

Principal Executive Officer Certification required by Rules 13a-14 and 15d-14 as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

X

31.2

Principal Financial Officer Certification required by Rules 13a-14 and 15d-14 as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

X

32.1‡

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

32.2‡

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

101.INS

Inline 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

X

101.SCH

Inline XBRL Taxonomy Extension Schema Document

X

101.CAL

Inline XBRL Taxonomy Extension Calculation Linkbase Document

X

101.DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document

X

101.LAB

Inline XBRL Taxonomy Extension Label Linkbase Document

X

101.PRE

Inline XBRL Taxonomy Extension Presentation Linkbase Document

X

104

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

X

‡Furnished herewith

28

SIGNATURE

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

 

TOPBUILD CORP.

 

 

 

 

 

By:

/s/ Madeline Otero

 

Name:

Madeline Otero

 

Title:

Vice President and Chief Accounting Officer

(Principal Accounting Officer)

May 7, 2024

29

EX-31.1 2 bld-20240331xex31d1.htm EX-31.1

Exhibit 31.1

Certifications

I, Robert Buck, certify that:

1.I have reviewed this quarterly report on Form 10-Q of TopBuild Corp.;

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 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/ Robert Buck

Robert Buck

Chief Executive Officer and Director

(Principal Executive Officer)


EX-31.2 3 bld-20240331xex31d2.htm EX-31.2

Exhibit 31.2

Certifications

I, Robert Kuhns, certify that:

1.I have reviewed this quarterly report on Form 10-Q of TopBuild Corp.;

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 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/ Robert Kuhns

Robert Kuhns

Vice President and Chief Financial Officer

(Principal Financial Officer)


EX-32.1 4 bld-20240331xex32d1.htm EX-32.1

Exhibit 32.1

CERTIFICATION OF PERIOD REPORT

I, Robert Buck, Chief Executive Officer and Director of TopBuild Corp. (the “Company”), certify, pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section 1350, that, to the best of my knowledge:

(1)the Quarterly Report on Form 10-Q of the Company for the quarter ended March 31, 2024 (the “Report”) fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78m or 78o(d)); 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/ Robert Buck

Robert Buck

Chief Executive Officer and Director

(Principal Executive Officer)


EX-32.2 5 bld-20240331xex32d2.htm EX-32.2

Exhibit 32.2

CERTIFICATION OF PERIOD REPORT

I, Robert Kuhns, Vice President and Chief Financial Officer of TopBuild Corp. (the “Company”), certify, pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section 1350, that, to the best of my knowledge:

(1)the Quarterly Report on Form 10-Q of the Company for the quarter ended March 31, 2024 (the “Report”) fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934 (15 U.S.C. 78m or 78o(d)); 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/ Robert Kuhns

Robert Kuhns

Vice President and Chief Financial Officer

(Principal Financial Officer)


EX-101.SCH 6 bld-20240331.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Goodwill and Other Intangibles - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - Goodwill and Other Intangibles - Other intangible assets (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Long-Term Debt - Reconciliation (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Long-Term Debt - Reconciliation (Details) (Calc2) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Long-Term Debt - Schedule of debt maturity (Details) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Long-Term Debt - Revolving Facility (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Net Income Per Share - Calculation (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - Share-Based Compensation - Activity (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Other Commitments and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00500 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 00505 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Basis of Presentation link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Goodwill and Other Intangibles link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Long-Term Debt link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Segment Information link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Net Income Per Share link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Share-Based Compensation link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Business Combinations link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Accrued Liabilities link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Other Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Goodwill and Other Intangibles (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Long-Term Debt (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Segment Information (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Net Income Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - Share-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 31203 - Disclosure - Accrued Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - Other Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Basis of Presentation (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Revenue Recognition - Disaggregation (Details) link:presentationLink link:calculationLink link:definitionLink 40302 - Disclosure - Revenue Recognition - Other (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Long-Term Debt - Key Terms of Credit Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 40505 - Disclosure - Long-Term Debt - Senior Notes and Equipment Notes (Details) link:presentationLink link:calculationLink link:definitionLink 40506 - Disclosure - Long-Term Debt - Other (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Segment Information (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - Net Income Per Share - Anti-dilutive common stock equivalents (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Share-Based Compensation - Expense (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Business Combinations - Summary (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - Business Combinations - Intangibles (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Subsequent Events (Details) link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Revenue Recognition link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 bld-20240331_cal.xml EX-101.CAL EX-101.DEF 8 bld-20240331_def.xml EX-101.DEF EX-101.LAB 9 bld-20240331_lab.xml EX-101.LAB EX-101.PRE 10 bld-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. 30, 2024
Cover page.    
Document Type 10-Q  
Document Period End Date Mar. 31, 2024  
Document Transition Report false  
Entity File Number 001-36870  
Entity Registrant Name TopBuild Corp  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 47-3096382  
Entity Address, Address Line One 475 North Williamson Boulevard  
Entity Address, City or Town Daytona Beach  
Entity Address, State or Province FL  
Entity Address, Postal Zip Code 32114  
City Area Code 386  
Local Phone Number 304-2200  
Title of 12(b) Security Common stock, par value $0.01 per share  
Trading Symbol BLD  
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   31,817,709
Amendment Flag false  
Entity Central Index Key 0001633931  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
Document Quarterly Report true  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Current assets:    
Cash and cash equivalents $ 968,809 $ 848,565
Receivables, net of an allowance for credit losses of $23,948 at March 31, 2024, and $23,948 at December 31, 2023 829,221 799,009
Inventories 375,056 364,731
Prepaid expenses and other current assets 29,376 36,939
Total current assets 2,202,462 2,049,244
Right of use assets 201,392 204,629
Property and equipment, net 266,422 264,487
Goodwill 2,052,319 2,042,568
Other intangible assets, net 578,335 591,058
Other assets 9,522 10,865
Total assets 5,310,452 5,162,851
Current liabilities:    
Accounts payable 467,863 469,585
Current portion of long-term debt 46,230 47,039
Accrued liabilities 201,402 187,217
Short-term operating lease liabilities 67,041 65,780
Short-term finance lease liabilities 1,829 1,917
Total current liabilities 784,365 771,538
Long-term debt 1,362,498 1,373,028
Deferred tax liabilities, net 243,622 243,930
Long-term portion of insurance reserves 60,179 58,783
Long-term operating lease liabilities 142,552 146,213
Long-term finance lease liabilities 3,716 4,150
Other liabilities 1,487 1,554
Total liabilities 2,598,419 2,599,196
Commitments and contingencies
Equity:    
Preferred stock, $0.01 par value: 10,000,000 shares authorized; 0 shares issued and outstanding
Common stock, $0.01 par value: 250,000,000 shares authorized; 39,549,030 shares issued and 31,818,099 outstanding at March 31, 2024, and 39,492,037 shares issued and 31,776,039 outstanding at December 31, 2023 395 394
Treasury stock, 7,730,931 shares at March 31, 2024, and 7,715,998 shares at December 31, 2023, at cost (705,386) (699,327)
Additional paid-in capital 912,481 906,334
Retained earnings 2,523,300 2,370,919
Accumulated other comprehensive loss (18,757) (14,665)
Total equity 2,712,033 2,563,655
Total liabilities and equity $ 5,310,452 $ 5,162,851
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
CONSOLIDATED BALANCE SHEETS    
Allowance for credit losses $ 22,398 $ 23,948
Preferred stock, par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock, shares authorized 10,000,000 10,000,000
Preferred stock, shares, issued 0 0
Preferred stock, shares, outstanding 0 0
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized 250,000,000 250,000,000
Common stock, shares issued 39,549,030 39,492,037
Common stock, shares outstanding 31,818,099 31,776,039
Treasury stock, shares at cost 7,730,931 7,715,998
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
CONSOLIDATED STATEMENTS OF OPERATIONS    
Net sales $ 1,278,717 $ 1,265,238
Cost of sales 891,567 895,023
Gross profit 387,150 370,215
Selling, general, and administrative expense 172,642 170,784
Operating profit 214,508 199,431
Other income (expense), net:    
Interest expense (18,795) (18,039)
Other, net 11,282 1,923
Other expense, net (7,513) (16,116)
Income before income taxes 206,995 183,315
Income tax expense (54,614) (47,445)
Net income $ 152,381 $ 135,870
Net income per common share:    
Basic $ 4.82 $ 4.31
Diluted $ 4.79 $ 4.28
Weighted average shares outstanding:    
Basic 31,641,454 31,550,658
Diluted 31,843,818 31,713,239
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME    
Net income $ 152,381 $ 135,870
Other comprehensive (loss) income:    
Foreign currency translation adjustment (4,092) 1,753
Comprehensive income $ 148,289 $ 137,623
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Cash Flows Provided by (Used in) Operating Activities:    
Net income $ 152,381 $ 135,870
Adjustments to reconcile net income to net cash provided by operating activities:    
Depreciation and amortization 34,257 32,100
Share-based compensation 5,127 3,135
(Gain)/loss on sale of assets (561) 185
Amortization of debt issuance costs 720 720
Provision for bad debt expense 4,464 1,338
Provision for inventory obsolescence 2,902 1,642
Deferred income taxes, net (240) 563
Change in certain assets and liabilities:    
Receivables, net (28,486) (10,847)
Inventories (12,056) 20,096
Prepaid expenses and other current assets 7,541 11,579
Accounts payable (2,659) (25,480)
Accrued liabilities 16,170 (3,339)
Other, net (783) 2,239
Net cash provided by operating activities 178,777 169,801
Cash Flows Provided by (Used in) Investing Activities:    
Purchases of property and equipment (19,881) (15,580)
Acquisition of businesses, net of cash acquired (22,240) (45,845)
Proceeds from sale of assets 1,608 455
Net cash used in investing activities (40,513) (60,970)
Cash Flows Provided by (Used in) Financing Activities:    
Repayment of long-term debt (12,059) (9,743)
Taxes withheld and paid on employees' equity awards (6,059) (6,350)
Exercise of stock options 1,020 1,029
Net cash (used in) provided by financing activities (17,098) (15,064)
Cash and Cash Equivalents    
Impact of exchange rate changes on cash (922) (58)
Net increase in cash and cash equivalents 120,244 93,709
Cash and cash equivalents- Beginning of period 848,565 240,069
Cash and cash equivalents- End of period 968,809 333,778
Supplemental disclosure of noncash activities:    
Leased assets obtained in exchange for new operating lease liabilities 13,737 18,271
Accruals for property and equipment $ 307 $ 835
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY - USD ($)
$ in Thousands
Common Stock
Treasury Stock at Cost
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive (Loss) Income
Total
Balance at Dec. 31, 2022 $ 393 $ (692,799) $ 887,367 $ 1,756,665 $ (21,920) $ 1,929,706
Increase (Decrease) in Stockholders' Equity            
Net income       135,870   135,870
Share-based compensation     3,135     3,135
Issuance of restricted share awards under long-term equity incentive plan 2         2
Shares withheld to pay taxes on employees' equity awards   (6,350)       (6,350)
Shares issued upon exercise of stock options     1,028     1,028
Other comprehensive income (loss), net of tax         1,753 1,753
Balance at Mar. 31, 2023 395 (699,149) 891,530 1,892,535 (20,167) 2,065,144
Balance at Dec. 31, 2023 394 (699,327) 906,334 2,370,919 (14,665) 2,563,655
Increase (Decrease) in Stockholders' Equity            
Net income       152,381   152,381
Share-based compensation     5,127     5,127
Issuance of restricted share awards under long-term equity incentive plan, net of forfeitures 1         1
Shares withheld to pay taxes on employees' equity awards   (6,059)       (6,059)
Shares issued upon exercise of stock options     1,020     1,020
Other comprehensive income (loss), net of tax         (4,092) (4,092)
Balance at Mar. 31, 2024 $ 395 $ (705,386) $ 912,481 $ 2,523,300 $ (18,757) $ 2,712,033
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.1.u1
CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY (Parenthetical) - $ / shares
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY    
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Issuance of restricted share awards under long-term equity incentive plan, net of forfeitures (in shares) 51,236 95,012
Number of shares withheld to pay taxes on employees' equity awards (in shares) 14,933 32,594
Shares issued upon exercise of stock options (in shares) 5,757 28,840
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Basis of Presentation
3 Months Ended
Mar. 31, 2024
Basis of Presentation  
Basis of Presentation

1.  BASIS OF PRESENTATION

TopBuild is listed on the NYSE under the ticker symbol “BLD.” We report our business in two segments: Installation and Specialty Distribution.  Our Installation segment primarily installs insulation and other building products. Our Specialty Distribution segment primarily sells and distributes insulation and other building products. Our segments are based on our operating units, for which financial information is regularly evaluated by our chief operating decision maker.

We believe the accompanying unaudited condensed consolidated financial statements contain all adjustments, of a normal recurring nature, necessary to state fairly our financial position as of March 31, 2024, our results of operations and comprehensive income for the three months ended March 31, 2024 and 2023, and our cash flows for the three months ended March 31, 2024 and 2023. The condensed consolidated balance sheet at December 31, 2023 was derived from our audited financial statements, but does not include all disclosures required by GAAP.

These condensed consolidated financial statements and related notes should be read in conjunction with the audited Consolidated Financial Statements included in the Company’s Annual report for the year ended December 31, 2023, as filed with the SEC on February 28, 2024.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounting Policies
3 Months Ended
Mar. 31, 2024
Accounting Policies  
Accounting Policies

2.  ACCOUNTING POLICIES

Financial Statement Presentation.  Our condensed consolidated financial statements have been developed in conformity with GAAP, which requires management to make estimates and assumptions. These estimates and assumptions affect the reported amounts of assets and liabilities and disclosures of contingent liabilities at the date of the financial statements, as well as the reported amounts of revenues and expenses during the reporting periods. Actual results could differ materially from these estimates. All intercompany transactions between TopBuild entities have been eliminated.

Recently Adopted Accounting Pronouncements

In October 2021, the FASB issued ASU 2021-08, “Accounting for Contract Assets and Contract Liabilities from Contracts with Customers”. This standard improved the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability, as well as payment terms and their effect on subsequent revenue recognized by the acquirer. This standard became effective for us on January 1, 2023, and did not have a material impact to our financial statements upon adoption.

Recently Issued Accounting Pronouncements Not Yet Adopted

In November 2023, the FASB issued ASU 2023-07, “Segment Reporting (Topic 280), Improvements to Reportable Segment Disclosures”.  This standard amends Topic 280 to require all entities to disclose, on an annual and interim basis, significant segment expenses and an amount for other segment items by reportable segment.  This standard is effective for fiscal years beginning after December 15, 2023, with early adoption permitted.  We do not anticipate that this standard will affect our consolidated results of operations, financial position or cash flows and we are assessing the impact of adoption in our disclosures to the consolidated financial statements.

In December 2023, the FASB issued ASU 2023-09, “Income Taxes (Topic 740), Improvements to Income Tax Disclosures”.  This standard amends Topic 740 to require all entities to disclose specific categories in the rate reconciliation, income taxes paid and other income tax information.  This standard is effective for fiscal years beginning after December 15, 2024, with early adoption permitted and should be applied on a prospective basis.  We do not anticipate that this standard will affect our consolidated results of operations, financial position or cash flows and we are assessing the impact of its adoption in our disclosures to our consolidated financial statements.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue Recognition
3 Months Ended
Mar. 31, 2024
Revenue Recognition  
Revenue Recognition

3.  REVENUE RECOGNITION

Revenue is disaggregated between our Installation and Specialty Distribution segments and further based on market and product, as we believe this best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.  

The following tables present our revenues disaggregated by market (in thousands):

Three Months Ended March 31, 

2024

2023

Installation

Specialty
Distribution

Eliminations

Total

Installation

Specialty
Distribution

Eliminations

Total

Residential

$

674,436

$

216,397

$

(55,990)

$

834,843

$

645,703

$

224,326

$

(51,390)

$

818,639

Commercial/Industrial

124,307

329,397

(9,830)

443,874

121,387

334,049

(8,837)

446,599

Net sales

$

798,743

$

545,794

$

(65,820)

$

1,278,717

$

767,090

$

558,375

$

(60,227)

$

1,265,238

The following tables present our revenues disaggregated by product (in thousands):

Three Months Ended March 31, 

2024

2023

Installation

Specialty
Distribution

Eliminations

Total

Installation

Specialty
Distribution

Eliminations

Total

Insulation and accessories

$

643,650

$

490,669

$

(57,509)

$

1,076,810

$

600,767

$

502,802

$

(51,973)

$

1,051,596

Glass and windows

58,117

-

-

58,117

63,442

-

-

63,442

Gutters

27,967

40,316

(7,309)

60,974

28,278

39,842

(7,165)

60,955

All other

69,009

14,809

(1,002)

82,816

74,603

15,731

(1,089)

89,245

Net sales

$

798,743

$

545,794

$

(65,820)

$

1,278,717

$

767,090

$

558,375

$

(60,227)

$

1,265,238

The following table represents our contract assets and contract liabilities with customers, in thousands:

Included in Line Item on

As of

March 31, 

December 31, 

Condensed Consolidated Balance Sheets

2024

2023

Contract Assets:

Receivables, unbilled

Receivables, net

$

70,591

$

64,882

Contract Liabilities:

Deferred revenue

Accrued liabilities

$

15,716

$

18,365

The aggregate amount remaining on uncompleted performance obligations was $392.4 million as of March 31, 2024. We expect to satisfy the performance obligations and recognize revenue on substantially all of these uncompleted contracts over the next 18 months.

On certain of our long-term contracts, a percentage of the total project cost is withheld and not invoiced to the customer and collected until satisfactory completion of the customer’s project, typically within a year. This amount is referred to as retainage and is common practice in the construction industry. Retainage receivables are classified as a component of Receivables, net on our condensed consolidated balance sheets and were $82.2 million and $81.9 million as of March 31, 2024 and December 31, 2023, respectively.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangibles
3 Months Ended
Mar. 31, 2024
Goodwill and Other Intangibles  
Goodwill and Other Intangibles

4.  GOODWILL AND OTHER INTANGIBLES

We have two reporting units which are also our operating and reporting segments: Installation and Specialty Distribution.  Both reporting units contain goodwill.  Assets acquired and liabilities assumed are assigned to the applicable reporting unit based on whether the acquired assets and liabilities relate to the operations of such unit and determination of its fair value.  Goodwill assigned to the reporting unit is the excess of the fair value of the acquired business over the fair value of the individual assets acquired and liabilities assumed for the reporting unit.

In the fourth quarter of 2023, we performed an annual assessment on our goodwill resulting in no impairment and there were no indicators of impairment for the three months ended March 31, 2024.

Changes in the carrying amount of goodwill for the three months ended March 31, 2024, by segment, were as follows, in thousands:

    

    

    

    

   Accumulated   

    

Gross Goodwill

FX Translation

Gross Goodwill

Impairment

Net Goodwill

December 31, 2023

Additions

Adjustment

March 31, 2024

Losses

March 31, 2024

Goodwill, by segment:

Installation

$

1,901,160

$

4,916

$

-

$

1,906,076

$

(762,021)

$

1,144,055

Specialty Distribution

 

903,429

 

6,261

(1,426)

 

908,264

 

-

 

908,264

Total goodwill

$

2,804,589

$

11,177

$

(1,426)

$

2,814,340

$

(762,021)

$

2,052,319

See Note 11 – Business Combinations for goodwill recognized on acquisitions that occurred during the three months ended March 31, 2024.

Other intangible assets, net includes customer relationships, non-compete agreements, and trademarks / trade names. The following table sets forth our other intangible assets, in thousands:

As of

March 31, 2024

December 31, 2023

Gross definite-lived intangible assets

    

$

832,327

$

827,793

Accumulated amortization

    

(253,992)

(236,735)

Other intangible assets, net

$

578,335

$

591,058

The following table sets forth our amortization expense, in thousands:

Three Months Ended March 31, 

    

2024

    

2023

Amortization expense

$

17,686

$

16,896

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt
3 Months Ended
Mar. 31, 2024
Long-Term Debt  
Long-Term Debt

5. LONG-TERM DEBT

The following table reconciles the principal balances of our outstanding debt to our condensed consolidated balance sheets, in thousands:

As of

March 31, 2024

    

December 31, 2023

3.625% Senior Notes due 2029

$

400,000

$

400,000

4.125% Senior Notes due 2032

500,000

500,000

Term loan due 2026

521,250

532,500

Equipment notes

1,230

2,039

Unamortized debt issuance costs

(13,752)

(14,472)

Total debt, net of unamortized debt issuance costs

1,408,728

1,420,067

Less: current portion of long-term debt

46,230

47,039

Total long-term debt

$

1,362,498

$

1,373,028

The following table sets forth our remaining principal payments for our outstanding debt balances as of March 31, 2024, in thousands:

2024

2025

2026

2027

2028

Thereafter

Total

3.625% Senior Notes

$

-

$

-

$

-

$

-

$

-

$

400,000

$

400,000

4.125% Senior Notes

-

-

-

-

-

500,000

500,000

Term loan

33,750

48,750

438,750

-

-

-

521,250

Equipment notes

1,230

-

-

-

-

-

1,230

Total

$

34,980

$

48,750

$

438,750

$

-

$

-

$

900,000

$

1,422,480

Credit Agreement

On July 26, 2023, we entered into Amendment No. 4 to our Credit Agreement, which provided for a new $550.0 million Term Facility Two, the proceeds of which were intended to be used, in part, to finance the acquisition of SPI, including the payment of related fees and expenses.  Refer to Note 14 – Subsequent Events for details regarding the termination of our agreement to acquire SPI and Term Facility Two.

The following table outlines the key terms of the Credit Agreement (dollars in thousands):

Senior secured term loan facility

$

600,000

Revolving facility (a)

$

500,000

Sublimit for issuance of letters of credit under revolving facility

$

100,000

Sublimit for swingline loans under revolving facility

$

35,000

Interest rate as of March 31, 2024

6.43

%

Scheduled maturity date

10/7/2026

(a)Use of the sublimits for the issuance of letters of credit and swingline loans reduces the availability under the revolving facility.

Interest expense on borrowings under the Credit Agreement is based on an applicable margin rate plus, at our option, either:  

A base rate determined by reference to the highest of either (i) the federal funds rate plus 0.50 percent, (ii) BofA’s “prime rate,” and (iii) the SOFR rate for U.S. dollar deposits with a term of one month, plus 1.00 percent (Term Facility One); or
A SOFR rate determined by reference to the costs of funds for deposits in U.S. dollars for the interest period relevant to such borrowings, subject to a floor of 0%.

The applicable margin rate is determined based on our Secured Leverage Ratio. In the case of base rate borrowings, the applicable margin rate ranges from 0.00 percent to 1.50 percent for Term Facility One and in the case of SOFR rate borrowings, the applicable margin ranges from 1.00 percent to 2.50 percent for Term Facility One. Borrowings under the Credit Agreement are prepayable at the Company’s option without premium or penalty. The Company is required to make prepayments with the net cash proceeds of certain asset sales and certain extraordinary receipts.

Revolving Facility

The Company has outstanding standby letters of credit that secure our financial obligations related to our workers’ compensation, general insurance, and auto liability programs. These standby letters of credit, as well as any outstanding amount borrowed under our revolving facility, reduce the availability under the revolving facility.  

The following table summarizes our availability under the revolving facility, in thousands:

As of

March 31, 2024

    

December 31, 2023

Revolving facility

$

500,000

$

500,000

Less: standby letters of credit

(63,770)

(63,770)

Availability under revolving facility

$

436,230

$

436,230

We are required to pay commitment fees to the Lenders in respect of any unutilized commitments. The commitment fees range from 0.15 percent to 0.275 percent per annum, depending on our Secured Leverage Ratio. We must also pay customary fees on outstanding letters of credit.

3.625% Senior Notes

The 3.625% Senior Notes are $400.0 million senior unsecured obligations and bear interest at 3.625% per year, payable semiannually in arrears on March 15 and September 15, beginning on September 15, 2021. The 3.625% Senior Notes mature on March 15, 2029, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the 3.625% Senior Notes then outstanding at a repurchase price equal to 101% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date. The Company may redeem the 3.625% Senior Notes, in whole or in part, at any time on or after March 15, 2024 at the redemption prices specified in the notes.

4.125% Senior Notes

The 4.125% Senior Notes are $500.0 million senior unsecured obligations and bear interest at 4.125% per year, payable semiannually in arrears on February 15 and August 15, beginning on August 15, 2022. The 4.125% Senior Notes mature on February 15, 2032, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the 4.125% Senior Notes then outstanding at a repurchase price equal to 101% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date. 

The Company may redeem the 4.125% Senior Notes, in whole or in part, at any time on or after October 15, 2026 at the redemption prices specified in the notes plus accrued and unpaid interest if redeemed during the 12 month period commencing on October 15 of the years set for: 2026 – 102.063%, 2027 – 101.375%, 2028 – 100.688%, 2029 and thereafter – 100.000%. The Company may also redeem a make-whole redemption of the 4.125% Senior Notes at any time prior to October 15, 2026 at the treasury rate plus 50 basis points. Additionally, the Company may redeem up to 40% of the aggregate principal amount of the 4.125% Senior Notes prior to October 15, 2024 with the net cash proceeds of certain sales of its capital stock at 104.125% of the principal amount of the notes, plus accrued and unpaid interest, if any, to the date of redemption only if, after the redemption, at least 60% of the aggregate principal amount of the notes originally issued remains outstanding.

Equipment Notes

We did not issue equipment notes during the three months ended March 31, 2024. The balance of equipment notes, which were issued for the purpose of financing vehicles and equipment, was $1.2 million as of March 31, 2024. The Company’s equipment notes each have a five year term maturing in 2024 and bear interest at fixed rates between 2.8% and 4.4%.

  Covenant Compliance

The indentures governing our 3.625% Senior Notes and our 4.125% Senior Notes (together, our “Senior Notes”) contain restrictive covenants that, among other things, generally limit the ability of the Company and certain of its subsidiaries (subject to certain exceptions) to (i) create liens, (ii) pay dividends, acquire shares of capital stock and make payments on subordinated debt, (iii) place limitations on distributions from certain subsidiaries, (iv) issue or sell the capital stock of certain subsidiaries, (v) sell assets, (vi) enter into transactions with affiliates, and (vii) effect mergers. The indentures provide for customary events of default which include (subject in certain cases to customary grace and cure periods), among others: nonpayment of principal or interest; breach of covenants or other agreements in the indenture; defaults in failure to pay certain other indebtedness; and certain events of bankruptcy or insolvency. Generally, if an event of default occurs and is continuing under the indenture, the trustee or the holders of at least 30% in aggregate principal amount of each of our Senior Notes then outstanding may declare the principal of, premium, if any, and accrued interest on the Senior Notes subject to such declaration immediately due and payable. The Senior Notes and related guarantees have not been registered under the Securities Act of 1933, and we are not required to register either the Senior Notes or the guarantees in the future.

The Credit Agreement contains certain covenants that limit, among other things, the ability of the Company to incur additional indebtedness or liens; to make certain investments or loans; to make certain restricted payments; to enter into consolidations, mergers, sales of material assets, and other fundamental changes; to transact with affiliates; to enter into agreements restricting the ability of subsidiaries to incur liens or pay dividends; or to make certain accounting changes.  The Credit Agreement contains customary affirmative covenants and events of default.

The Credit Agreement requires that we maintain a Net Leverage Ratio and minimum Interest Coverage Ratio throughout the term of the agreement. The following table outlines the key financial covenants effective for the period covered by this Quarterly Report:

As of March 31, 2024

Maximum Net Leverage Ratio

3.50:1.00

Minimum Interest Coverage Ratio

3.00:1.00

Compliance as of period end

In Compliance

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements
3 Months Ended
Mar. 31, 2024
Fair Value Measurements  
Fair Value Measurements

6. FAIR VALUE MEASUREMENTS

Fair Value on Recurring Basis

The carrying values of cash and cash equivalents, receivables, net, and accounts payable are considered to be representative of their respective fair values due to the short-term nature of these instruments. We measure our contingent consideration
liabilities related to business combinations at fair value.

Fair Value on Non-Recurring Basis

Fair value measurements were applied to our long-term debt portfolio. We believe the carrying value of our term loan and equipment notes approximate their fair market value primarily due to the fact that the non-performance risk of servicing our debt obligations, as reflected in our business and credit risk profile, has not materially changed since we assumed our debt obligations under the Credit Agreement. In addition, due to the floating-rate nature of our term loan, the market value is not subject to variability solely due to changes in the general level of interest rates as is the case with a fixed-rate debt obligation. Based on market trades of our 3.625% Senior Notes and our 4.125% Senior Notes close to March 31, 2024 (Level 1 fair value measurement), we estimate the fair value of each in the table below:  

As of March 31, 2024

Fair Value

Gross Carrying Value

3.625% Senior Notes

$

364,940

$

400,000

4.125% Senior Notes

$

445,000

$

500,000

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information
3 Months Ended
Mar. 31, 2024
Segment Information  
Segment Information

7.  SEGMENT INFORMATION

The following tables set forth our net sales and operating results by segment, in thousands:

Three Months Ended March 31, 

2024

2023

2024

2023

Net Sales

Operating Profit (b)

Operations by segment (a):

Installation

$

798,743

$

767,090

$

156,757

$

146,897

Specialty Distribution

545,794

558,375

77,579

73,333

Intercompany eliminations

(65,820)

(60,227)

(10,761)

(9,971)

Total

$

1,278,717

$

1,265,238

223,575

210,259

General corporate expense, net (c)

(9,067)

(10,828)

Operating profit, as reported

214,508

199,431

Other expense, net

(7,513)

(16,116)

Income before income taxes

$

206,995

$

183,315

(a)All of our operations are located primarily in the U.S. and to a lesser extent Canada.
(b)Segment operating profit includes an allocation of general corporate expenses attributable to the operating segments which is based on direct benefit or usage (such as salaries of corporate employees who directly support the segment).
(c)General corporate expense, net includes expenses not specifically attributable to our segments for functions such as corporate human resources, finance, and legal, including salaries, benefits, and other related costs.
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes
3 Months Ended
Mar. 31, 2024
Income Taxes  
Income Taxes

8.  INCOME TAXES    

Our effective tax rates were 26.4 percent and 25.9 percent for the three months ended March 31, 2024 and March 31, 2023, respectively. The higher 2024 tax rate was primarily related to an increase in tax expense related to share-based compensation.

A tax expense of $2.0 million related to share-based compensation was recognized in our condensed consolidated statements of operations as a discrete item in income tax expense for the three months ended March 31, 2024.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income Per Share
3 Months Ended
Mar. 31, 2024
Net Income Per Share  
Net Income Per Share

9. NET INCOME PER SHARE

Basic net income per share is calculated by dividing net income by the number of weighted average shares outstanding during the period, without consideration for common stock equivalents. Diluted net income per share is calculated by adjusting the number of weighted average shares outstanding for the dilutive effect of common stock equivalents outstanding for the period, determined using the treasury stock method.

Basic and diluted net income per share were computed as follows:

Three Months Ended March 31, 

2024

2023

Net income (in thousands)

$

152,381

$

135,870

Weighted average number of common shares outstanding - basic

31,641,454

31,550,658

Dilutive effect of common stock equivalents:

RSAs with service-based conditions

41,832

22,643

RSAs with market-based conditions

50,955

24,861

RSAs with performance-based conditions

14,429

29,031

Stock options

95,148

86,046

Weighted average number of common shares outstanding - diluted

31,843,818

31,713,239

Basic net income per common share

$

4.82

$

4.31

Diluted net income per common share

$

4.79

$

4.28

The following table summarizes shares excluded from the calculation of diluted net income per share because their effect would have been anti-dilutive:

Three Months Ended March 31, 

2024

 

2023

Anti-dilutive common stock equivalents:

RSAs with service-based conditions

14

11,163

RSAs with market-based conditions

-

8,933

RSAs with performance-based conditions

-

-

Stock options

-

22,280

Total anti-dilutive common stock equivalents

14

42,376

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Share-Based Compensation
3 Months Ended
Mar. 31, 2024
Share-Based Compensation.  
Share-Based Compensation

10. SHARE-BASED COMPENSATION

Eligible employees participate in the 2015 LTIP, which authorizes the Board to grant stock options, stock appreciation rights, restricted shares, restricted share units, performance awards, and dividend equivalents.  All grants are made by issuing new shares and no more than 4.0 million shares of common stock may be issued under the 2015 LTIP. As of March 31, 2024, we had 1.7 million shares remaining available for issuance under the 2015 LTIP.

Share-based compensation expense is included in selling, general, and administrative expense. The income tax effect associated with share-based compensation awards is included in income tax expense.  

The following table presents share-based compensation amounts recognized in our condensed consolidated statements of operations, in thousands:

Three Months Ended March 31, 

2024

2023

Share-based compensation expense

$

5,127

$

3,135

Income tax expense

$

(2,009)

$

(45)

The following table presents a summary of our share-based compensation activity for the three months ended March 31, 2024, in thousands, except per share amounts:

RSAs

Stock Options

Number of Shares

   

Weighted Average Grant Date Fair Value Per Share

   

Number of Shares

   

Weighted Average Grant Date Fair Value Per Share

   

Weighted Average Exercise Price Per Share

   

Aggregate
Intrinsic
Value

Balance December 31, 2023

195.5

$

223.49

128.7

$

36.65

$

98.58

$

35,462.8

Granted

42.6

$

419.56

$

$

Converted/Exercised

(48.2)

$

230.09

(5.8)

$

70.25

$

177.53

$

1,355.3

Forfeited/Expired

(2.2)

$

276.34

$

$

Balance March 31, 2024

187.7

$

265.84

122.9

$

35.08

$

94.88

$

42,498.1

Exercisable March 31, 2024 (a)

122.9

$

35.08

$

94.88

$

42,498.1

(a)The weighted average remaining contractual term for vested stock options is approximately 5.1 years.

We have unrecognized share-based compensation expense related to unvested awards as shown in the following table, dollars in thousands:

As of March 31, 2024

Unrecognized Compensation Expense
on Unvested Awards

Weighted Average
Remaining
Compensation Expense Period

RSAs

$

31,455

1.2

Stock options

Total unrecognized compensation expense related to unvested awards

$

31,455

Our RSAs with performance-based conditions are evaluated on a quarterly basis with adjustments to compensation expense based on the likelihood of the performance target being achieved or exceeded. The following table shows the range of payouts and the related expense for our outstanding RSAs with performance-based conditions, in thousands:

Payout Ranges and Related Expense

RSAs with Performance-Based Conditions

Grant Date Fair Value

0%

25%

100%

200%

February 15, 2022

$

2,986

$

-

$

747

$

2,986

$

5,972

February 21, 2023

$

4,054

$

-

$

1,014

$

4,054

$

8,108

February 21, 2024

$

4,846

$

-

$

1,212

$

4,846

$

9,692

During the first quarter of 2024, RSAs with performance-based conditions that were granted on February 16, 2021 vested based on cumulative three-year achievement of 200%. Total compensation expense recognized over the three-year performance period, net of forfeitures, was $4.4 million.

The fair value of our RSAs with a market-based condition granted under the 2015 LTIP was determined using a Monte Carlo simulation. The following are key inputs in the Monte Carlo analysis for awards granted in 2024, 2023, and 2022:

2024

2023

2022

Measurement period (years)

2.86

2.86

2.87

Risk free interest rate

4.36

%

4.42

%

1.76

%

Dividend yield

0.00

%

0.00

%

0.00

%

Estimated fair value of market-based RSAs at grant date

$

503.68

$

270.64

$

298.20

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Combinations
3 Months Ended
Mar. 31, 2024
Business Combinations  
Business Combinations

11. BUSINESS COMBINATIONS

Acquiring businesses is a key part of our ongoing strategy to grow our company and expand our market share. Each acquisition has been accounted for as a business combination under ASC 805, “Business Combinations.” Acquisition related costs were $0.5 million and $1.7 million in the three months ended March 31, 2024 and 2023, respectively. Acquisition related costs are included in selling, general, and administrative expense in our condensed consolidated statements of operations.

On February 15, 2024, we acquired the assets of the residential and light commercial insulation business Brabble. This installation acquisition enhanced our presence in North Carolina. The purchase price of $5.4 million was funded by cash on hand and we recognized $3.0 million of goodwill in connection with this acquisition.

On March 1, 2024, we acquired the assets of the residential insulation business Morris Black. This installation acquisition enhanced our presence in the Pennsylvania market. The purchase price of $3.6 million was funded by cash on hand and we recognized $2.0 million of goodwill in connection with this acquisition.

On March 1, 2024, we acquired the assets of the customized insulation products and accessories business PCI. This specialty distribution acquisition has a national customer base focused on the domestic pest control industry.  The purchase price of $13.3 million was funded by cash on hand and we recognized $6.3 million of goodwill in connection with this acquisition.

The estimate of acquired customer relationships related to our 2024 acquisitions was $6.0 million and the weighted average useful life is 12 years.

As third-party or internal valuations are finalized, certain tax aspects of the foregoing transactions are completed, and customer post-closing reviews are concluded, adjustments may be made to the fair value of assets acquired, and in some cases total purchase price, through the end of each measurement period, generally one year following the applicable acquisition date.  

During the three months ended March 31, 2023, we acquired SRI and the purchase price of $45.3 was funded by cash on hand and we recognized goodwill of $23.1 million in connection with this acquisition.

Goodwill to be recognized in connection with acquisitions is attributable to the synergies expected to be realized and improvements in the businesses after the acquisitions. Primarily all of the $11.2 million and $23.1 million of goodwill recorded from acquisitions completed in the three months ended March 31, 2024 and 2023, respectively, is expected to be deductible for income tax purposes.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accrued Liabilities
3 Months Ended
Mar. 31, 2024
Accrued Liabilities.  
Accrued Liabilities

12.  ACCRUED LIABILITIES

The following table sets forth the components of accrued liabilities, in thousands:

As of

    

March 31, 2024

    

December 31, 2023

Accrued liabilities:

Salaries, wages, and bonus/commissions

$

53,145

$

67,471

Income tax payable

46,554

389

Insurance liabilities

31,197

29,920

Sales and property taxes

15,986

17,002

Deferred revenue

15,716

18,365

Customer rebates

12,177

17,326

Interest payable on long-term debt

3,357

12,139

Other

23,270

24,605

Total accrued liabilities

$

201,402

$

187,217

See Note 3 – Revenue Recognition for discussion of our deferred revenue balances. Accrued income taxes payable increased significantly compared to December 31, 2023 due to timing of tax payments, which typically occur later in the year.

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

13.  OTHER COMMITMENTS AND CONTINGENCIES

Litigation.  We are subject to certain claims, charges, litigation, and other proceedings in the ordinary course of our business, including those arising from or related to contractual matters, intellectual property, personal injury, environmental matters, product liability, product recalls, construction defects, insurance coverage, personnel and employment disputes, antitrust, and other matters, including class actions. We believe we have adequate defenses in these matters, and we do not believe that the ultimate outcome of these matters will have a material adverse effect on us.  However, there is no assurance that we will prevail in any of these pending matters, and we could in the future incur judgments, enter into settlements of claims, or revise our expectations regarding the outcome of these matters, which could materially impact our liquidity and our results of operations.

Other Matters.  We enter into contracts, which include customary indemnities that are standard for the industries in which we operate. Such indemnities include, among other things, claims against our builder customers for issues relating to our workmanship. We generally exclude from our contracts with builder customers indemnity relating to product quality and warranty claims, as we pass such claims directly to the manufacturers of the products we install or distribute. In conjunction with divestitures and other transactions, we occasionally provide customary indemnities relating to various items including, among others, the enforceability of trademarks, legal and environmental issues, and asset valuations. We evaluate the probability that we may incur liabilities under these customary indemnities and appropriately record an estimated liability when deemed probable.

We also maintain indemnification agreements with our directors and officers that may require us to indemnify them against liabilities that arise by reason of their status or service as directors or officers, except as prohibited by applicable law.

We occasionally use performance bonds to ensure completion of our work on certain larger customer contracts that can span multiple accounting periods. Performance bonds generally do not have stated expiration dates; rather, we are released from the bonds as the contractual performance is completed. We also have bonds outstanding for license and insurance.

The following table summarizes our outstanding performance, licensing, insurance, and other bonds, in thousands:

As of

March 31, 2024

December 31, 2023

Outstanding bonds:

Performance bonds

$

141,380

$

145,982

Licensing, insurance, and other bonds

27,979

27,415

Total bonds

$

169,359

$

173,397

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Subsequent Events
3 Months Ended
Mar. 31, 2024
Subsequent Events  
Subsequent Events

14.  SUBSEQUENT EVENTS

On April 22, 2024, we agreed to a mutual termination of our previous agreement to acquire SPI, originally announced on July 27, 2023. We withdrew our Hart-Scott Rodino filings and were required to pay a termination fee of $23.0 million to the seller under the terms of the purchase agreement. In connection with the termination of the SPI acquisition, the Company terminated the commitments with respect to its undrawn Term Facility Two which was provided pursuant to Amendment No. 4. All other terms of the Company’s Credit Agreement, as amended, remain in full force and effect.

On May 3, 2024, our Board authorized the 2024 Repurchase Program, pursuant to which the Company may purchase up to $1.0 billion of our common stock.  Share repurchases may be executed through various means including open market purchases, privately negotiated transactions, accelerated share repurchase transactions, or other available means.  The 2024 Repurchase Program does not obligate the Company to purchase any shares and has no expiration date.  Authorization for the 2024 Repurchase Program may be terminated, increased, or decreased by the Board at its discretion at any time.

On May 3, 2024, we entered into an agreement to acquire the assets of the residential insulation business Insulation Works, Inc., which is expected to close in mid-May 2024. This installation acquisition will enhance our presence in the Arkansas market and extend our expertise to the agricultural market. The purchase price of approximately $25.2 million is expected to be funded by cash on hand. This acquisition will be accounted for as a business combination under ASC 805, “Business Combinations.”

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accounting Policies (Policies)
3 Months Ended
Mar. 31, 2024
Accounting Policies  
Financial Statement Presentation

Financial Statement Presentation.  Our condensed consolidated financial statements have been developed in conformity with GAAP, which requires management to make estimates and assumptions. These estimates and assumptions affect the reported amounts of assets and liabilities and disclosures of contingent liabilities at the date of the financial statements, as well as the reported amounts of revenues and expenses during the reporting periods. Actual results could differ materially from these estimates. All intercompany transactions between TopBuild entities have been eliminated.

Recently Adopted and Issued Accounting Pronouncements

Recently Adopted Accounting Pronouncements

In October 2021, the FASB issued ASU 2021-08, “Accounting for Contract Assets and Contract Liabilities from Contracts with Customers”. This standard improved the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability, as well as payment terms and their effect on subsequent revenue recognized by the acquirer. This standard became effective for us on January 1, 2023, and did not have a material impact to our financial statements upon adoption.

Recently Issued Accounting Pronouncements Not Yet Adopted

In November 2023, the FASB issued ASU 2023-07, “Segment Reporting (Topic 280), Improvements to Reportable Segment Disclosures”.  This standard amends Topic 280 to require all entities to disclose, on an annual and interim basis, significant segment expenses and an amount for other segment items by reportable segment.  This standard is effective for fiscal years beginning after December 15, 2023, with early adoption permitted.  We do not anticipate that this standard will affect our consolidated results of operations, financial position or cash flows and we are assessing the impact of adoption in our disclosures to the consolidated financial statements.

In December 2023, the FASB issued ASU 2023-09, “Income Taxes (Topic 740), Improvements to Income Tax Disclosures”.  This standard amends Topic 740 to require all entities to disclose specific categories in the rate reconciliation, income taxes paid and other income tax information.  This standard is effective for fiscal years beginning after December 15, 2024, with early adoption permitted and should be applied on a prospective basis.  We do not anticipate that this standard will affect our consolidated results of operations, financial position or cash flows and we are assessing the impact of its adoption in our disclosures to our consolidated financial statements.

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue Recognition (Tables)
3 Months Ended
Mar. 31, 2024
Revenue Recognition  
Schedule of revenues disaggregated by market and product

The following tables present our revenues disaggregated by market (in thousands):

Three Months Ended March 31, 

2024

2023

Installation

Specialty
Distribution

Eliminations

Total

Installation

Specialty
Distribution

Eliminations

Total

Residential

$

674,436

$

216,397

$

(55,990)

$

834,843

$

645,703

$

224,326

$

(51,390)

$

818,639

Commercial/Industrial

124,307

329,397

(9,830)

443,874

121,387

334,049

(8,837)

446,599

Net sales

$

798,743

$

545,794

$

(65,820)

$

1,278,717

$

767,090

$

558,375

$

(60,227)

$

1,265,238

The following tables present our revenues disaggregated by product (in thousands):

Three Months Ended March 31, 

2024

2023

Installation

Specialty
Distribution

Eliminations

Total

Installation

Specialty
Distribution

Eliminations

Total

Insulation and accessories

$

643,650

$

490,669

$

(57,509)

$

1,076,810

$

600,767

$

502,802

$

(51,973)

$

1,051,596

Glass and windows

58,117

-

-

58,117

63,442

-

-

63,442

Gutters

27,967

40,316

(7,309)

60,974

28,278

39,842

(7,165)

60,955

All other

69,009

14,809

(1,002)

82,816

74,603

15,731

(1,089)

89,245

Net sales

$

798,743

$

545,794

$

(65,820)

$

1,278,717

$

767,090

$

558,375

$

(60,227)

$

1,265,238

Schedule of contract assets and contract liabilities with customers

The following table represents our contract assets and contract liabilities with customers, in thousands:

Included in Line Item on

As of

March 31, 

December 31, 

Condensed Consolidated Balance Sheets

2024

2023

Contract Assets:

Receivables, unbilled

Receivables, net

$

70,591

$

64,882

Contract Liabilities:

Deferred revenue

Accrued liabilities

$

15,716

$

18,365

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangibles (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Other Intangibles  
Changes in the carrying amount of goodwill by segment

Changes in the carrying amount of goodwill for the three months ended March 31, 2024, by segment, were as follows, in thousands:

    

    

    

    

   Accumulated   

    

Gross Goodwill

FX Translation

Gross Goodwill

Impairment

Net Goodwill

December 31, 2023

Additions

Adjustment

March 31, 2024

Losses

March 31, 2024

Goodwill, by segment:

Installation

$

1,901,160

$

4,916

$

-

$

1,906,076

$

(762,021)

$

1,144,055

Specialty Distribution

 

903,429

 

6,261

(1,426)

 

908,264

 

-

 

908,264

Total goodwill

$

2,804,589

$

11,177

$

(1,426)

$

2,814,340

$

(762,021)

$

2,052,319

Schedule of other intangible assets

Other intangible assets, net includes customer relationships, non-compete agreements, and trademarks / trade names. The following table sets forth our other intangible assets, in thousands:

As of

March 31, 2024

December 31, 2023

Gross definite-lived intangible assets

    

$

832,327

$

827,793

Accumulated amortization

    

(253,992)

(236,735)

Other intangible assets, net

$

578,335

$

591,058

Schedule of amortization expense

As of

March 31, 2024

December 31, 2023

Gross definite-lived intangible assets

    

$

832,327

$

827,793

Accumulated amortization

    

(253,992)

(236,735)

Other intangible assets, net

$

578,335

$

591,058

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt (Tables)
3 Months Ended
Mar. 31, 2024
Long-Term Debt  
Reconciliation of principal balance of outstanding debt

The following table reconciles the principal balances of our outstanding debt to our condensed consolidated balance sheets, in thousands:

As of

March 31, 2024

    

December 31, 2023

3.625% Senior Notes due 2029

$

400,000

$

400,000

4.125% Senior Notes due 2032

500,000

500,000

Term loan due 2026

521,250

532,500

Equipment notes

1,230

2,039

Unamortized debt issuance costs

(13,752)

(14,472)

Total debt, net of unamortized debt issuance costs

1,408,728

1,420,067

Less: current portion of long-term debt

46,230

47,039

Total long-term debt

$

1,362,498

$

1,373,028

Schedule of remaining principal payments of debt

The following table sets forth our remaining principal payments for our outstanding debt balances as of March 31, 2024, in thousands:

2024

2025

2026

2027

2028

Thereafter

Total

3.625% Senior Notes

$

-

$

-

$

-

$

-

$

-

$

400,000

$

400,000

4.125% Senior Notes

-

-

-

-

-

500,000

500,000

Term loan

33,750

48,750

438,750

-

-

-

521,250

Equipment notes

1,230

-

-

-

-

-

1,230

Total

$

34,980

$

48,750

$

438,750

$

-

$

-

$

900,000

$

1,422,480

Summary of key terms of the Credit Agreement

The following table outlines the key terms of the Credit Agreement (dollars in thousands):

Senior secured term loan facility

$

600,000

Revolving facility (a)

$

500,000

Sublimit for issuance of letters of credit under revolving facility

$

100,000

Sublimit for swingline loans under revolving facility

$

35,000

Interest rate as of March 31, 2024

6.43

%

Scheduled maturity date

10/7/2026

(a)Use of the sublimits for the issuance of letters of credit and swingline loans reduces the availability under the revolving facility.

Schedule of availability under the Revolving Facility

The following table summarizes our availability under the revolving facility, in thousands:

As of

March 31, 2024

    

December 31, 2023

Revolving facility

$

500,000

$

500,000

Less: standby letters of credit

(63,770)

(63,770)

Availability under revolving facility

$

436,230

$

436,230

Schedule of the key financial covenants

As of March 31, 2024

Maximum Net Leverage Ratio

3.50:1.00

Minimum Interest Coverage Ratio

3.00:1.00

Compliance as of period end

In Compliance

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value Measurements  
Schedule of fair value of liabilities

As of March 31, 2024

Fair Value

Gross Carrying Value

3.625% Senior Notes

$

364,940

$

400,000

4.125% Senior Notes

$

445,000

$

500,000

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information (Tables)
3 Months Ended
Mar. 31, 2024
Segment Information  
Schedule of net sales and operating results by segment

The following tables set forth our net sales and operating results by segment, in thousands:

Three Months Ended March 31, 

2024

2023

2024

2023

Net Sales

Operating Profit (b)

Operations by segment (a):

Installation

$

798,743

$

767,090

$

156,757

$

146,897

Specialty Distribution

545,794

558,375

77,579

73,333

Intercompany eliminations

(65,820)

(60,227)

(10,761)

(9,971)

Total

$

1,278,717

$

1,265,238

223,575

210,259

General corporate expense, net (c)

(9,067)

(10,828)

Operating profit, as reported

214,508

199,431

Other expense, net

(7,513)

(16,116)

Income before income taxes

$

206,995

$

183,315

(a)All of our operations are located primarily in the U.S. and to a lesser extent Canada.
(b)Segment operating profit includes an allocation of general corporate expenses attributable to the operating segments which is based on direct benefit or usage (such as salaries of corporate employees who directly support the segment).
(c)General corporate expense, net includes expenses not specifically attributable to our segments for functions such as corporate human resources, finance, and legal, including salaries, benefits, and other related costs.
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income Per Share (Tables)
3 Months Ended
Mar. 31, 2024
Net Income Per Share  
Schedule of basic and diluted income per share

Three Months Ended March 31, 

2024

2023

Net income (in thousands)

$

152,381

$

135,870

Weighted average number of common shares outstanding - basic

31,641,454

31,550,658

Dilutive effect of common stock equivalents:

RSAs with service-based conditions

41,832

22,643

RSAs with market-based conditions

50,955

24,861

RSAs with performance-based conditions

14,429

29,031

Stock options

95,148

86,046

Weighted average number of common shares outstanding - diluted

31,843,818

31,713,239

Basic net income per common share

$

4.82

$

4.31

Diluted net income per common share

$

4.79

$

4.28

Summary of shares excluded from the calculation of diluted income per share because their effect would have been anti-dilutive

Three Months Ended March 31, 

2024

 

2023

Anti-dilutive common stock equivalents:

RSAs with service-based conditions

14

11,163

RSAs with market-based conditions

-

8,933

RSAs with performance-based conditions

-

-

Stock options

-

22,280

Total anti-dilutive common stock equivalents

14

42,376

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Share-Based Compensation (Tables)
3 Months Ended
Mar. 31, 2024
Share-Based Compensation  
Schedule of share-based compensation expense and related income tax benefit

The following table presents share-based compensation amounts recognized in our condensed consolidated statements of operations, in thousands:

Three Months Ended March 31, 

2024

2023

Share-based compensation expense

$

5,127

$

3,135

Income tax expense

$

(2,009)

$

(45)

Schedule of share-based compensation activity

The following table presents a summary of our share-based compensation activity for the three months ended March 31, 2024, in thousands, except per share amounts:

RSAs

Stock Options

Number of Shares

   

Weighted Average Grant Date Fair Value Per Share

   

Number of Shares

   

Weighted Average Grant Date Fair Value Per Share

   

Weighted Average Exercise Price Per Share

   

Aggregate
Intrinsic
Value

Balance December 31, 2023

195.5

$

223.49

128.7

$

36.65

$

98.58

$

35,462.8

Granted

42.6

$

419.56

$

$

Converted/Exercised

(48.2)

$

230.09

(5.8)

$

70.25

$

177.53

$

1,355.3

Forfeited/Expired

(2.2)

$

276.34

$

$

Balance March 31, 2024

187.7

$

265.84

122.9

$

35.08

$

94.88

$

42,498.1

Exercisable March 31, 2024 (a)

122.9

$

35.08

$

94.88

$

42,498.1

(a)The weighted average remaining contractual term for vested stock options is approximately 5.1 years.
Schedule of unrecognized share-based compensation expense relating to unvested awards

We have unrecognized share-based compensation expense related to unvested awards as shown in the following table, dollars in thousands:

As of March 31, 2024

Unrecognized Compensation Expense
on Unvested Awards

Weighted Average
Remaining
Compensation Expense Period

RSAs

$

31,455

1.2

Stock options

Total unrecognized compensation expense related to unvested awards

$

31,455

Schedule of key inputs used to estimate the fair value of awards

2024

2023

2022

Measurement period (years)

2.86

2.86

2.87

Risk free interest rate

4.36

%

4.42

%

1.76

%

Dividend yield

0.00

%

0.00

%

0.00

%

Estimated fair value of market-based RSAs at grant date

$

503.68

$

270.64

$

298.20

Performance-based conditions | Restricted Stock Awards  
Share-Based Compensation  
Schedule of the range of payouts and the related expense for RSAs with performance-based conditions The following table shows the range of payouts and the related expense for our outstanding RSAs with performance-based conditions, in thousands:

Payout Ranges and Related Expense

RSAs with Performance-Based Conditions

Grant Date Fair Value

0%

25%

100%

200%

February 15, 2022

$

2,986

$

-

$

747

$

2,986

$

5,972

February 21, 2023

$

4,054

$

-

$

1,014

$

4,054

$

8,108

February 21, 2024

$

4,846

$

-

$

1,212

$

4,846

$

9,692

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accrued Liabilities (Tables)
3 Months Ended
Mar. 31, 2024
Accrued Liabilities.  
Schedule of components of accrued liabilities

The following table sets forth the components of accrued liabilities, in thousands:

As of

    

March 31, 2024

    

December 31, 2023

Accrued liabilities:

Salaries, wages, and bonus/commissions

$

53,145

$

67,471

Income tax payable

46,554

389

Insurance liabilities

31,197

29,920

Sales and property taxes

15,986

17,002

Deferred revenue

15,716

18,365

Customer rebates

12,177

17,326

Interest payable on long-term debt

3,357

12,139

Other

23,270

24,605

Total accrued liabilities

$

201,402

$

187,217

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Other Commitments and Contingencies (Tables)
3 Months Ended
Mar. 31, 2024
Other Commitments and Contingencies  
Summary of outstanding bonds

The following table summarizes our outstanding performance, licensing, insurance, and other bonds, in thousands:

As of

March 31, 2024

December 31, 2023

Outstanding bonds:

Performance bonds

$

141,380

$

145,982

Licensing, insurance, and other bonds

27,979

27,415

Total bonds

$

169,359

$

173,397

XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Basis of Presentation (Details)
3 Months Ended
Mar. 31, 2024
segment
Basis of Presentation  
Number of reportable segments 2
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue Recognition - Disaggregation (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Revenue Recognition    
Net sales $ 1,278,717 $ 1,265,238
Insulation and accessories    
Revenue Recognition    
Net sales 1,076,810 1,051,596
Glass and windows    
Revenue Recognition    
Net sales 58,117 63,442
Gutters    
Revenue Recognition    
Net sales 60,974 60,955
All other    
Revenue Recognition    
Net sales 82,816 89,245
Residential    
Revenue Recognition    
Net sales 834,843 818,639
Commercial and Industrial    
Revenue Recognition    
Net sales 443,874 446,599
Operating Segment | Installation    
Revenue Recognition    
Net sales 798,743 767,090
Operating Segment | Installation | Insulation and accessories    
Revenue Recognition    
Net sales 643,650 600,767
Operating Segment | Installation | Glass and windows    
Revenue Recognition    
Net sales 58,117 63,442
Operating Segment | Installation | Gutters    
Revenue Recognition    
Net sales 27,967 28,278
Operating Segment | Installation | All other    
Revenue Recognition    
Net sales 69,009 74,603
Operating Segment | Installation | Residential    
Revenue Recognition    
Net sales 674,436 645,703
Operating Segment | Installation | Commercial and Industrial    
Revenue Recognition    
Net sales 124,307 121,387
Operating Segment | Specialty Distribution    
Revenue Recognition    
Net sales 545,794 558,375
Operating Segment | Specialty Distribution | Insulation and accessories    
Revenue Recognition    
Net sales 490,669 502,802
Operating Segment | Specialty Distribution | Gutters    
Revenue Recognition    
Net sales 40,316 39,842
Operating Segment | Specialty Distribution | All other    
Revenue Recognition    
Net sales 14,809 15,731
Operating Segment | Specialty Distribution | Residential    
Revenue Recognition    
Net sales 216,397 224,326
Operating Segment | Specialty Distribution | Commercial and Industrial    
Revenue Recognition    
Net sales 329,397 334,049
Eliminations    
Revenue Recognition    
Net sales (65,820) (60,227)
Eliminations | Insulation and accessories    
Revenue Recognition    
Net sales (57,509) (51,973)
Eliminations | Gutters    
Revenue Recognition    
Net sales (7,309) (7,165)
Eliminations | All other    
Revenue Recognition    
Net sales (1,002) (1,089)
Eliminations | Residential    
Revenue Recognition    
Net sales (55,990) (51,390)
Eliminations | Commercial and Industrial    
Revenue Recognition    
Net sales $ (9,830) $ (8,837)
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenue Recognition - Other (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Contract Liabilities    
Deferred revenue $ 15,716 $ 18,365
Uncompleted Performance Obligations    
Amount remaining on uncompleted performance obligations $ 392,400  
Expected timing of satisfaction of performance obligations over the next 18 months  
Receivables, net    
Contract Assets    
Receivables, unbilled $ 70,591 64,882
Uncompleted Performance Obligations    
Retained receivables 82,200 81,900
Accrued liabilities    
Contract Liabilities    
Deferred revenue $ 15,716 $ 18,365
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangibles - Goodwill (Details)
$ in Thousands
3 Months Ended
Mar. 31, 2024
USD ($)
item
Dec. 31, 2022
USD ($)
Dec. 31, 2023
USD ($)
Changes in the carrying amount of goodwill      
Number of reporting units | item 2    
Impairment of goodwill   $ 0  
Gross Goodwill, at beginning of period $ 2,804,589    
Additions 11,177    
Fx Translation Adjustment (1,426)    
Gross Goodwill, at end of period 2,814,340    
Accumulated Impairment Losses (762,021)    
Net Goodwill 2,052,319   $ 2,042,568
Installation      
Changes in the carrying amount of goodwill      
Gross Goodwill, at beginning of period 1,901,160    
Additions 4,916    
Gross Goodwill, at end of period 1,906,076    
Accumulated Impairment Losses (762,021)    
Net Goodwill 1,144,055    
Specialty Distribution      
Changes in the carrying amount of goodwill      
Gross Goodwill, at beginning of period 903,429    
Additions 6,261    
Fx Translation Adjustment (1,426)    
Gross Goodwill, at end of period 908,264    
Net Goodwill $ 908,264    
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Goodwill and Other Intangibles - Other intangible assets (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Other intangible assets      
Gross Definite-lived intangible assets $ 832,327   $ 827,793
Accumulated Amortization (253,992)   (236,735)
Other intangible asset, net 578,335   $ 591,058
Amortization expense $ 17,686 $ 16,896  
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt - Reconciliation (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Long-Term Debt    
Long-term debt $ 1,422,480  
Unamortized debt issuance costs (13,752) $ (14,472)
Total debt, net of unamortized debt issuance costs 1,408,728 1,420,067
Less: current portion of long-term debt 46,230 47,039
Total long-term debt $ 1,362,498 $ 1,373,028
3.625% Senior Notes    
Long-Term Debt    
Interest rate (as a percent) 3.625% 3.625%
Long-term debt $ 400,000 $ 400,000
4.125% Senior Notes    
Long-Term Debt    
Interest rate (as a percent) 4.125% 4.125%
Long-term debt $ 500,000 $ 500,000
Term Loan Facility    
Long-Term Debt    
Long-term debt 521,250 532,500
Equipment Notes    
Long-Term Debt    
Long-term debt 1,230 $ 2,039
Total debt, net of unamortized debt issuance costs $ 1,200  
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt - Schedule of debt maturity (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Schedule of Debt Maturity by Years:    
2024 $ 34,980  
2025 48,750  
2026 438,750  
Thereafter 900,000  
Total 1,422,480  
3.625% Senior Notes    
Schedule of Debt Maturity by Years:    
Thereafter 400,000  
Total 400,000 $ 400,000
4.125% Senior Notes    
Schedule of Debt Maturity by Years:    
Thereafter 500,000  
Total 500,000 500,000
Term Loan Facility    
Schedule of Debt Maturity by Years:    
2024 33,750  
2025 48,750  
2026 438,750  
Total 521,250 532,500
Equipment Notes    
Schedule of Debt Maturity by Years:    
2024 1,230  
Total $ 1,230 $ 2,039
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt - Key Terms of Credit Agreement (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Jul. 26, 2023
Revolving Facility      
Long-Term Debt      
Availability $ 500,000 $ 500,000  
Credit Agreement      
Long-Term Debt      
Interest rate 6.43%    
Scheduled maturity date Oct. 07, 2026    
Credit Agreement | Base Rate Borrowings | Federal Funds Rate      
Long-Term Debt      
Basis spread 0.50%    
Credit Agreement | Base Rate Borrowings | SOFR      
Long-Term Debt      
Maturity of the reference rate 1 month    
Credit Agreement | SOFR Rate Borrowings      
Long-Term Debt      
Interest rate floor (as a percent) 0.00%    
Credit Agreement | Term Loan Facility      
Long-Term Debt      
Availability $ 600,000    
Credit Agreement | Term Facility One | Base Rate Borrowings | Minimum      
Long-Term Debt      
Applicable margin based on total leverage ratio 0.00%    
Credit Agreement | Term Facility One | Base Rate Borrowings | Maximum      
Long-Term Debt      
Applicable margin based on total leverage ratio 1.50%    
Credit Agreement | Term Facility One | Base Rate Borrowings | SOFR      
Long-Term Debt      
Basis spread 1.00%    
Credit Agreement | Term Facility One | SOFR Rate Borrowings | Minimum      
Long-Term Debt      
Applicable margin based on total leverage ratio 1.00%    
Credit Agreement | Term Facility One | SOFR Rate Borrowings | Maximum      
Long-Term Debt      
Applicable margin based on total leverage ratio 2.50%    
Credit Agreement | Term Facility Two      
Long-Term Debt      
Availability     $ 550,000
Credit Agreement | Revolving Facility      
Long-Term Debt      
Availability $ 500,000    
Sublimit for issuance of letters of credit under Revolving Facility* 100,000    
Sublimit for swingline loans under Revolving Facility* $ 35,000    
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt - Revolving Facility (Details) - Revolving Facility - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Long-Term Debt    
Revolving Facility $ 500,000 $ 500,000
Less: standby letters of credit (63,770) (63,770)
Availability under revolving facility $ 436,230 $ 436,230
Minimum    
Long-Term Debt    
Commitment fee (as a percent) 0.15%  
Maximum    
Long-Term Debt    
Commitment fee (as a percent) 0.275%  
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt - Senior Notes and Equipment Notes (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Long-Term Debt    
Amount outstanding $ 1,408,728 $ 1,420,067
Equipment Notes    
Long-Term Debt    
Amount outstanding $ 1,200  
Debt term 5 years  
Equipment Notes | Minimum    
Long-Term Debt    
Interest rate (as a percent) 2.80%  
Equipment Notes | Maximum    
Long-Term Debt    
Interest rate (as a percent) 4.40%  
3.625% Senior Notes    
Long-Term Debt    
Interest rate (as a percent) 3.625%  
Principal amount of debt $ 400,000  
3.625% Senior Notes | Change in Control Scenario    
Long-Term Debt    
Redemption price as a percentage of principal 101.00%  
4.125% Senior Notes    
Long-Term Debt    
Interest rate (as a percent) 4.125%  
Principal amount of debt $ 500,000  
4.125% Senior Notes | On or after October 15, 2026    
Long-Term Debt    
Redemption price as a percentage of principal 102.063%  
4.125% Senior Notes | On or after October 15, 2027    
Long-Term Debt    
Redemption price as a percentage of principal 101.375%  
4.125% Senior Notes | On or after October 15, 2028    
Long-Term Debt    
Redemption price as a percentage of principal 100.688%  
4.125% Senior Notes | On October 15, 2029 and thereafter    
Long-Term Debt    
Redemption price as a percentage of principal 100.00%  
4.125% Senior Notes | Prior to October 15, 2026    
Long-Term Debt    
Basis spread on treasury rate 0.50%  
4.125% Senior Notes | Prior to October 15, 2024    
Long-Term Debt    
Redemption price as a percentage of principal 104.125%  
Redemption price, percentage of principal amount redeemed 40.00%  
Debt instrument, conditional redemption, threshold percentage of aggregate principal amount originally issued remains outstanding 60.00%  
4.125% Senior Notes | Change in Control Scenario    
Long-Term Debt    
Redemption price as a percentage of principal 101.00%  
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Long-Term Debt - Other (Details)
3 Months Ended
Mar. 31, 2024
Debt covenants  
Maximum Net Leverage Ratio 3.50
Minimum Interest Coverage Ratio 3.00
Senior Notes | Event of Default Scenario  
Debt covenants  
Minimum percentage of principal of debt holders to declare debt immediately due and payable 30.00%
3.625% Senior Notes  
Debt covenants  
Interest rate (as a percent) 3.625%
4.125% Senior Notes  
Debt covenants  
Interest rate (as a percent) 4.125%
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measurements (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Fair Value on Non-Recurring Basis  
Amount outstanding $ 1,422,480
3.625% Senior Notes  
Fair Value on Non-Recurring Basis  
Interest rate (as a percent) 3.625%
Amount outstanding $ 400,000
3.625% Senior Notes | Fair Value on Non-Recurring Basis | Level 1 fair value measurement  
Fair Value on Non-Recurring Basis  
Interest rate (as a percent) 3.625%
Fair value $ 364,940
4.125% Senior Notes  
Fair Value on Non-Recurring Basis  
Interest rate (as a percent) 4.125%
Amount outstanding $ 500,000
4.125% Senior Notes | Fair Value on Non-Recurring Basis | Level 1 fair value measurement  
Fair Value on Non-Recurring Basis  
Interest rate (as a percent) 4.125%
Fair value $ 445,000
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Segment information      
Net sales $ 1,278,717 $ 1,265,238  
Operating profit as, reported 214,508 199,431  
Other expense, net (7,513) (16,116)  
Income before income taxes 206,995 183,315  
Total Assets 5,310,452   $ 5,162,851
Operating Segment      
Segment information      
Operating profit as, reported 223,575 210,259  
Operating Segment | Installation      
Segment information      
Net sales 798,743 767,090  
Operating profit as, reported 156,757 146,897  
Operating Segment | Specialty Distribution      
Segment information      
Net sales 545,794 558,375  
Operating profit as, reported 77,579 73,333  
Eliminations      
Segment information      
Net sales (65,820) (60,227)  
Intercompany Eliminations      
Segment information      
Net sales (65,820) (60,227)  
Operating profit as, reported (10,761) (9,971)  
Corporate      
Segment information      
General corporate expense, net $ (9,067) $ (10,828)  
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income Taxes (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Taxes    
Effective tax rate (as a percent) 26.40% 25.90%
Tax expense related to share-based compensation $ 2,009 $ 45
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income Per Share - Calculation (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Net income $ 152,381 $ 135,870
Weighted average number of common shares outstanding - basic 31,641,454 31,550,658
Dilutive effect of common stock equivalents:    
Stock options 95,148 86,046
Weighted average number of common shares outstanding - diluted 31,843,818 31,713,239
Basic net income per common share $ 4.82 $ 4.31
Diluted net income per common share $ 4.79 $ 4.28
Service-based conditions    
Dilutive effect of common stock equivalents:    
Restricted stock awards 41,832 22,643
Market-based conditions    
Dilutive effect of common stock equivalents:    
Restricted stock awards 50,955 24,861
Performance-based conditions    
Dilutive effect of common stock equivalents:    
Restricted stock awards 14,429 29,031
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Net Income Per Share - Anti-dilutive common stock equivalents (Details) - shares
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Anti-dilutive common stock equivalents    
Total anti-dilutive common stock equivalents 14 42,376
Restricted Stock Awards | Service-based conditions    
Anti-dilutive common stock equivalents    
Total anti-dilutive common stock equivalents 14 11,163
Restricted Stock Awards | Market-based conditions    
Anti-dilutive common stock equivalents    
Total anti-dilutive common stock equivalents   8,933
Employee Stock Option    
Anti-dilutive common stock equivalents    
Total anti-dilutive common stock equivalents   22,280
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Share-Based Compensation - Expense (Details) - USD ($)
$ in Thousands, shares in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Share-Based Compensation    
Share-based compensation expense $ 5,127 $ 3,135
Income tax expense $ (2,009) $ (45)
2015 Plan    
Share-Based Compensation    
Number of shares available 1.7  
2015 Plan | Maximum    
Share-Based Compensation    
Number of shares authorized 4.0  
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Share-Based Compensation - Activity (Details) - USD ($)
3 Months Ended
Feb. 21, 2024
Feb. 21, 2023
Feb. 15, 2022
Mar. 31, 2024
Mar. 31, 2023
Mar. 31, 2022
Dec. 31, 2023
Stock Options, Number of Shares              
Converted/Exercised (in shares)       (5,757) (28,840)    
Stock options, additional disclosures              
Weighted average remaining contractual term for vested stock options       5 years 1 month 6 days      
Unrecognized share-based compensation expense              
Total unrecognized compensation expense related to unvested awards       $ 31,455,000      
Restricted Stock Awards              
Restricted Stock Awards, Number of Shares              
Balance at beginning of period (in shares)       195,500      
Granted (in shares)       42,600      
Converted/Exercised (in shares)       (48,200)      
Forfeited/Expired (in shares)       (2,200)      
Balance at end of period (in shares)       187,700      
Restricted Stock Awards, Weighted Average Grant Date Fair Value Per Share              
Balance at beginning of period (in dollars per share)       $ 223.49      
Granted (in dollars per share)       419.56      
Converted/Exercised (in dollars per share)       230.09      
Forfeited/Expired (in dollars per share)       276.34      
Balance at end of period (in dollars per share)       $ 265.84      
Unrecognized share-based compensation expense              
RSAs, Unrecognized Compensation Expense on Unvested Awards       $ 31,455,000      
Weighted Average Remaining Compensation Expense Period       1 year 2 months 12 days      
Assumptions used to estimate the fair values of the awards granted:              
Measurement period (years)       2 years 10 months 9 days 2 years 10 months 9 days 2 years 10 months 13 days  
Risk free interest rate (as a percent)       4.36% 4.42% 1.76%  
Dividend yield (as a percent)       0.00% 0.00% 0.00%  
Estimated fair value of market-based RSAs at grant date (in dollars per share)       $ 503.68 $ 270.64 $ 298.20  
Restricted Stock Awards | Performance-based conditions              
Restricted stock awards, additional disclosures              
Grant date fair value $ 4,846,000 $ 4,054,000 $ 2,986,000        
Restricted Stock Awards | Performance-based conditions | Payout Range-0%              
Restricted stock awards, additional disclosures              
Payout range (as a percent) 0.00% 0.00% 0.00%        
Restricted Stock Awards | Performance-based conditions | Payout Range-25%              
Restricted stock awards, additional disclosures              
Payout range (as a percent) 25.00% 25.00% 25.00%        
Related expenses $ 1,212,000 $ 1,014,000 $ 747,000        
Restricted Stock Awards | Performance-based conditions | Payout Range-100%              
Restricted stock awards, additional disclosures              
Payout range (as a percent) 100.00% 100.00% 100.00%        
Related expenses $ 4,846,000 $ 4,054,000 $ 2,986,000        
Restricted Stock Awards | Performance-based conditions | Payout Range-200%              
Restricted stock awards, additional disclosures              
Payout range (as a percent) 200.00% 200.00% 200.00%        
Related expenses $ 9,692,000 $ 8,108,000 $ 5,972,000        
RSAs granted February 16, 2021 | Performance-based conditions              
Restricted stock awards, additional disclosures              
Cumulative period of achievement       3 years 3 years    
Cumulative achievement percentage         200.00%    
Total compensation expense recognized over the performance period, net of forfeitures       $ 4,400,000      
Employee Stock Option              
Stock Options, Number of Shares              
Balance at beginning of period (in shares)       128,700      
Converted/Exercised (in shares)       (5,800)      
Balance at end of period (in shares)       122,900      
Stock Options, Weighted Average Grant Date Fair Value Per Share              
Balance at beginning of period (in dollars per share)       $ 36.65      
Converted/Exercised (in dollars per share)       70.25      
Balance at end of period (in dollars per share)       35.08      
Stock Options, Weighted Average Exercise Price Per Share              
Balance at beginning of period (in dollars per share)       98.58      
Converted/Exercised (in dollars per share)       177.53      
Balance at end of period (in dollars per share)       $ 94.88      
Stock options, additional disclosures              
Aggregate intrinsic value       $ 42,498,100     $ 35,462,800
Converted/Exercised aggregate intrinsic value       $ 1,355,300      
Exercisable, Number of shares       122,900      
Exercisable, Weighted Average Grant Date Fair Value Per Share       $ 35.08      
Exercisable Weighted Average Exercise Price Per Share       $ 94.88      
Exercisable, Aggregate Intrinsic Value       $ 42,498,100      
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Combinations - Summary (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 01, 2024
Feb. 15, 2024
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Business Combinations          
Acquisition related costs     $ 500 $ 1,700  
Summary of businesses acquired:          
Goodwill expected to be deducted for income tax purposes     11,200 23,100  
Estimated fair values          
Goodwill     $ 2,052,319   $ 2,042,568
Brabble          
Business Combinations          
Purchase price   $ 5,400      
Goodwill recognized   $ 3,000      
Morris Black          
Business Combinations          
Purchase price $ 3,600        
Goodwill recognized 2,000        
PCI          
Business Combinations          
Purchase price 13,300        
Goodwill recognized $ 6,300        
SRI Holdings          
Business Combinations          
Purchase price       45,300  
Goodwill recognized       $ 23,100  
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Business Combinations - Intangibles (Details) - 2024 Acquisitions - Customer relationships
$ in Millions
3 Months Ended
Mar. 31, 2024
USD ($)
Estimates of acquired intangible assets  
Estimated Fair Value $ 6.0
Weighted Average Estimated Useful Life (Years) 12 years
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accrued Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Accrued Liabilities.    
Salaries, wages, and bonus/commissions $ 53,145 $ 67,471
Income taxes payable 46,554 389
Insurance liabilities 31,197 29,920
Customer rebates 12,177 17,326
Deferred revenue 15,716 18,365
Sales and property taxes 15,986 17,002
Interest payable on long-term debt 3,357 12,139
Other 23,270 24,605
Total accrued liabilities $ 201,402 $ 187,217
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Other Commitments and Contingencies (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Outstanding Bonds    
Performance bonds $ 141,380 $ 145,982
Licensing, insurance, and other bonds 27,979 27,415
Total bonds $ 169,359 $ 173,397
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Subsequent Events (Details) - Subsequent Event - USD ($)
$ in Millions
May 03, 2024
Apr. 22, 2024
SPI    
Subsequent Events    
Termination fee   $ 23.0
Insulation Works Inc.    
Subsequent Events    
Expected purchase price $ 25.2  
2024 Share Repurchase Program    
Subsequent Events    
Share repurchase program, authorized amount $ 1,000.0  
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Pay vs Performance Disclosure    
Net Income (Loss) $ 152,381 $ 135,870
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Insider Trading Arrangements
3 Months Ended
Mar. 31, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
EXCEL 69 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( +* 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 " "R@*=8*'EQ3^X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M3L,P#(9?!>7>.NT82%&7"X@32$A, G&+'&^+:-HH,6KW]J1EZX3@ 3C&_O/Y ML^0&@\(^TG/L T5VE*Y&WW9)8=B( W-0 D/Y$TJ'\C'L(!C_, MGJ"6\@8\L;&S (BQ$H1N+"B,9[N,);W'!A\_8SC"+0"UYZCA!558@]#0Q M',>V@0M@@C%%G[X+9!?B7/T3.W= G))CL2 MFPXI_TI.\3'01IPGOZ[N[KROB[DNI"WVUHJN595]3ZY_O"["/O>NIW[ MQ\9G0=W K[O07U!+ P04 " "R@*=8F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M +* IUABN-*DV 4 .(> 8 >&PO=V]R:W-H965T&UL MM9GA<]HV&,;_%1W;[;:[$"R9 .D(=T"2+;2D0\/9>) MB.&7A501UW"JEITT48+[N2@*.\QQ>IV(!W%K-,ROS=1H*#,=!K&8*9)F4<35 M=B)"N;EJT=;^PE.P7&ESH3,:)GPIYD+_G(!YX:F8RO!CX.O556O0(KY8\"S43W+SI]@!71@_3X9I_DDV MQ;W=;HMX6:IEM!-#":(@+K[YZZXBW@J<&@';"=@W EKW#^Y.X.:@1XF8.\;G(UT 2Q:<:Y5O!K #H]NI9>!JVB"8]]::X?)P8N6.3?U4#I2X5:B];HEY]HS_G=1O:#S+[B[):<7T+P MXLT?Z">12*5MI+C7@H>IK8*FJ*PA8+\$[*.%VKVP;H-0D,A'*!H9[. YM MN[U!W['!H=*&<(,2;G ,W)-8!JF&!M3DD4?6/HK[/,MDD@6A3Z92)39(5-X0 M\K*$O#P&\B[VH'!2Y8/.&9EK>!J)5%#D+-9J"]^^E1PWO[ZQX:*:AKC4J<9; MYQC@9_Y*[GQX-H-%X!5#;7T'/F#9[;==Y[+G#I@-%Q\O;>"GB(8T2H943S;? LZDZGF(?DW2&I?6 <<74:I-4;@NJ:D56"B M>,[)>^P8YHGU8+B!.^A9L4X1CVB5CR@>:NZE!^TU6\D8RP\'3%RGVV8P;;;R MG2(=T2H>43S;/ <:DI%<$,I^??F-S(67*6A)*R3N-)51!&]9F(]ZG\]@UJ/( MFH>9(#\[YPXE"QHW+2-%/*S&"* M:4O>CC":9-;UB ..GZRK&%-W K)^Y8QWF* M#,2J#,2.RD!FJ@:Q'@+!4BKKB^B SSU7T-?'GB? "&S\PM)*?(H8Q*H8Q(Z* M0?.(AR&99"G\G-K[+>Y3._/&=4WYJO3#CDH_-Y%02_-@_@$.D,EAI$AX;&]: MW+ >]!3AAU7AA^'99=^0*P$-B>'A-O5XIPA!K I!#,\O^S=M,<+/BQ%^GJ_Z MDO>9AD@;FP'42OR#XLVN'@JWB]S-[#^L1RX=T'[?N1QVUC;&*@@Q/+Z,(Q'[ M^5+8;.=(MVP*MVPHQ:)IH"F(,K>Q;YX)7\)>__$K1S'H3W7O72I ME?,4<8=5<8?A*66? VZ#U$3V3P(2*+9L>\"NW::L70-ZBMSC5KG'Q5-*N6;[ MEO06+EJ'C@-F=8O2N*PI8Y5Y7#RA?,NX6X:OI\3M/EC;$1?; MEIWJ]F+W]X&;2)"24"Q ZISWX9VNB@W5XD3+)-^3?)%:RR@_7 GN"V5N@-\7 M4NK]B?F#:R;[^U& M2H5^ED75GBXV2FV/5ZLVWN3NE-%7LFK!K5=68KFZ:,LZL?3!5D\7_B6WV^4OK!:GVS% MO;R6ZJ_M50/?5H.7+"]EU>9UA1IY=[HX(\?G+-8+>HO_Y/*QG7Q&.I3;NOZN MOWS.3A=8(Y*%3)5V(>#/@SR71:$] 8X?>Z>+X9YZX?3SL_??^N AF%O1RO.Z M^&^>JH+1K55WN%P.",J]V M?\7/?2(F"TC@6$#W"^AK%[#] M8'ND/6AW4AE%B?-/4C:K0U>-,?^MSTJR&: MO-+;>*T:^#6'=6I]_O7/ZZ]?/E^H(]G7\[^/+]$UY\N+V^NT1'ZZ_H" M_>O=O]$[E%?H9E-WK:BR]F2EX,YZ_2K=W^7C[B[4<9<_1/,>,;)$%-/ LOS< MO_Q"IL-R=KA\!?$.0=,A:-K[8ZZ@NZ:1E4*B;:5JCVWQ[!P$=@?ZV3INMR*5 MIPMX>%K9/,C%^I__(!'^8(ON%SD[B)4-L3*?]_6Y:#<(=@VE^H/\T>4/HH#@ MK;NX.HI%T&=A##:6B44TIF&3#-8L[Q)%$'&0B'#(3>#'RN'F!GZB:7 MUMT)C9NR.,1A-,-F,8N"F!$[MFC %GFQ735R*_(,R9_ (#KW.KNUVD ^TX/' MR88\,B!1SN(Y<-.*19PY(5$&,3HJZBB,Y 6NQPP&D0V&$F M \S$7_R:;G0]=ZWTH$PL=R>,ST':S" 41RKY@)&_4 *@'AKUU&^]/DFVP.>J M?U9M6+D)(HH".L=J,PN")+9C)7@D-NQ%^WM=9X]Y45C9"EL2%%)&YB>=U3"@ M890XX$UXEWCA?>T?G;Q2HKK/X8>=,Q,"R,X" V %D,2T21T MG)]DI#<2O$IU%+FXS8M)JWA&:B-^;GO>F6W=]+T%',-%7=T?*=F4T!/< MVA](DZ[@B&5X#MIB%F,7JY&1UHB?UR"Q32>S:3594=KXB@38*'O3CB0Q):YC M>.0UXB>VZPTD=9=)S1Y"Y=4]*B1T7B]"-UDLBG$PEV(V,S@9L0/X2';$SW83 MX'=YU0O0U\$V"8TDU" 6BQ5W99N.I$?]I'>H=EY 2DURBY. 17-*L=G%)&0. M2J$C!U(_!WYY\2&C)IL1%M& )W.,-L.88>H".>D5_;QW(>\DI#-#2OR<9M3) MU-2D. I9-:C0;L>9HW+IR(74SX5C6B<'6EZU7=-7\?Z8MY>$R7X1)O&\>BUF M80)JQ(%\I$CJ;P%'Y&\\*ZC9D!&0:0:[6^TB2ES(1YZC?IX;D;_IL*"VGH[, M&R.+54!"5YV,M$?]M+=3="\A-/F+3-7Y'J'%*@P=/1$=28Z^IGE[":&%XD*> M!(:8MQMRPB,'SI'DJ)_DSNNRS)7NAG9]<5I7NG9EE;HP>_W951FRCI;^OJ/# MF$=^I-PK9R^A 51/]N&9EUG?/#W[1=X.QV5,AIZ<\;X,@SX$C-;\AA9)B198LZG M>70- ,%5P"FXBNVNXCB"'PU7KQH6,E-T,#Y73U8CQ\G(1E7"_*KDI@%ZZ9JG MYPS'2Q [2\[(D$Y[.L".A$O.DXF=$>M27TWKUBIOF"E;CF(,:G#.6C;#B'-& M'2J734;:?H%SEF6YUC7 #7HF>917*!7;'+C""M@4*YS0()DW$C8['#'FVJM1 MU;"7!MM*P*4,2=%44%_VT;NI3&A(&4FHW]#" MZ7 /30'HU#M8B=_'$'6S>^FY^Z+J;?_>\+96JB[[CQLI,MEH _C]KJ[5\Q?] M*G)X];S^/U!+ P04 " "R@*=8FKW%<4T# !M"P & 'AL+W=O*<99"J)TO&$RS5D*],D7' 42%*J.E8UL!,,$F-8%3))@_7@)EF[%A&T\W;L@JEOJ&&8PRO((%R+MLSM7(K%TBDD J"$L1 MA^78F-@74]O1@B+B.X&-:%PCG3SY.OT M"BT^75W=+M#)''-(90R2A)B>HO?H;C%#)V]/T5M$4G0;LUS@-!(C4RH2[6>& MU:R7Y:S.CEF_8'Z.7/L,.9;3ZY!/]\MG$-9RMRTW5?[U(CCU(CB%GWO\(G3E M5IKUNLWTOKL0&0YA;*B-)8"OP0C>O;$'UH>N3/^362MOM\[;W><>3*C:Q3@- M :GW 0HY1$0BRH2 SO^T-!L49OKUL X;&[@"1&I'A ]G*,,CS?K>.[=]5NY M-5%;N3.RYSN6Z^U@;AS)]O',KU1S9=G"L8?VT/+];?"N2,\;6*Z_ M _SY&+7WGE;!K6HD1V:[@RT^[Z_?;"8C5Y( M-Z*JU5B15" *2Z6TSCUEPKAQ(EA7MT3V3JMDJ+F/5#P/7 >KYDC'Y-- = M5]UA!W\ 4$L#!!0 ( +* IUCU=C(,@@0 (H1 8 >&PO=V]R:W-H M965T&ULK9AM;]LV$,>_"J$50PNDD4@]9[:!Q$FW $TB0=9]]^IP=+MD2Q&^8WMB3?'7]WI.]/:K3GXH?<,*;0>Y;FV;9<;%A&Y27?LAQ^67&1406W8FW+K6!T63IEJ4T<)[ SFN369%0^>Q*3 M$=^I-,G9DT!REV54_'W#4KX?6]@Z/'A.UAM5/+ GHRU=LSE3W[9/ N[L)LHR MR5@N$YXCP59CZQI?34GI4%K\F;"]/+I&12JOG/\H;NZ78\LIB%C*%JH(0>'K MC4U9FA:1@..O.JC5C%DX'E\?HG\IDX=D7JED4YY^3Y9J,[8B"RW9BNY2]G][_7)WB^8O\/5P]_@R1[,O:/9T]WS]<@\&Z#/Z-K]%'S]\0A]0DJ.7#=]) MFB_ER%; 4$2R%_5X-]5X9& \%SWP7&TDNLN7;'GJ;P-[DP Y)'!#C $?J+A$ M+KY Q"&>AF?Z[]U= X[;U-,MX[G_IYZZLE5A/7W8XL]\);=TP<86_%LE$V_, MFOSZ"PZ*?KD$7J/I"G3+H[*-2A=BP[S-L$DC$()TL$%O5%=*)WO=. T9J%#L*^'"QNXT @WATZ;Y.L+M&8Y$S2] M0- $%U"3TJD$K3HQHB]@[Q(IH,/>U0X)(%'.O Z,R>,/#U\U,!'1OC9EA6$ M^=I0W:@W,L&>[T0=P+X9CF//Q7K N &,C6UCIC9,0&M=\(RACW49/UV@G*DK M'6Q\SFYQIF GB6.G%2#'.#?WN6(05YD63QWBN.J?<13&?F=R]':.&^MG!Q^I M)#8OH&)^RNG0XN'^HL DZJYMG5D\U#0P:=G(S]D.U1MF)/W2A#YVNXP:,QQ@ M' Q0MKJ(C:(#TURN[5<&6T]V6.F*ONO[%1N[[+?+7160SJ#6R7$9BF\3=*=ZNZ\:ZY(,V(8=[ET5F1@8X9; M <1F!?Q>'K@8;"G>0*O7K%HE$L'14RK8:H!XZY?,6:7P7-%.CS*M%A*S%@XN M&=(7-A<''FQ0NJU&:^G[3N /3!%I19"81="P=$A?VEP<>=!JNOLGK66(7=(3 M:?OH5)LQL2X/^Q*:R"Y7U?FP>=J\4+@NC]&=YS?X:EJ]%FC#5&\IX/2W3G*) M4K:"D,YE"%BB.OA7-XIOR[/S*U=P$B\O-XPNF2@,X/<5Y^IP4PS0O'Z9_ -0 M2P,$% @ LH"G6'R9N-#6 @ &0@ !@ !X;"]W;W)KI'4Y/U(]5VGZ=P%;8PX\Z, MVO[[W@%DU5*S#[X(,]QSYIQ[X5[;6RY>902@R%N:,-DQ(J56+=.4000IE3=\ M!0R?++A(J<*E6)IR)8"&&2A-3-NR&F9*8V;X[6QO*OPV7ZLD9C 51*[3E(KW M+B1\VS%JQF[C,5Y&2F^8?GM%ES #];2:"ER9)4L8I\!DS!D1L.@8=[56S]/Q M6-M"#)-%$*.-OP6F41VK@_OV. M_3[SCEY>J(0>3W['H8HZ1M,@(2SH.E&/?/L A1]7\P4\D=DOV>:QGF.08"T5 M3PLP*DACEE_I6Y&'/0#R5 /L F ? ^I? )P"X&1&D.$8UP-R39YF?7)Y<44N2,S(/.)K25DHVZ9"-9K3#(J3N_G)]A_\.=$W*<,K-. MQN><)[-5"

7^3&0'N:B7N:B? M8O?'V(YB%O 4JFSFV$:&U5UGX]="=*4"83FO?8\ ]V(.S9JBH'.;&[5X_KNG5K'U7MPSX6:>YUV13$,AL^$E^=-5-YERIWR_EVE[7U MH_TNSKU\3/VCR81/Y(,H7BJ^R7O["%4Z&[#;"V0U" M!^#S!>=JM] 'E/\&_ ]02P,$% @ LH"G6#=2GN1I!P S1\ !@ !X M;"]W;W)KU=TLMDGISEO@N MKUOOVB97I]MG6J)CK9+HDG*<[-86>B[Q4YZ-E5:U.QV.5+'G!U#NQXB7\9R%DP2JXE8]CM9*D'X^G9BCWR M&:^^K.XEW(T;+6E6\%)EHD22+\Y'%_CTBL9Z@9'X*^,;M7.-M"ES(;[JF_?I M^:=>N'O]JOW6& _&S)GB5R+_.TNK MY?DH'J&4+]@ZKSZ+S9]\:U"@]24B5^8OVFQEO1%*UJH2Q78Q("BRLOYESUM' M["P /?8%9+N =!?X POH=@$UAM;(C%G7K&+3,RDV2&IIT*8OC&_,:K F*W48 M9Y6$_V:PKII>W7V:W7UX?WWQ<'.-9@_P\_'FT\,,W=VBJXO9G^CVP]W?,W2" MOLRNT9N?WZ*?45:BAZ58*U:FZFQ< 0:M:9QLWW=9OX\,O(^BCZ*LE@K=E"E/ M]]>/ 7MC 'DUX)(X%7YD\AVB^#=$/.);\%P=OIPZX-#&G]3HHT/^9&J);B$Y M%+J7XBD#(]'\!;WYHN B*]^BNQ67K,K*1W2A=W!695R=VOQ8O\>WOT=G]ZE: ML82?CR!]%9=/?#3]Y2<<>K_;G' D97LN\1N7^"[MTT]0C+(R$06WF5FO#IC@@-,9GXZ== RQB-(@CKQ';@Q8TT )GM"[2?R#%H"I5"E4"RE(BRB3+ M.2H;S/JYODMT8%<[(15-()D[D,$Q WDD97O>"AMOAP.1C1JLD1/K;,DD/]$%/D401F ]-0@S MZ@$(,.FB[ M1V(%VD'$#,G:"?/,'\.S;<2Z40N!2Q6#GB05B2O'*6EOC'HB3 M(.RF2E\(QP- )PW0B1/HQ4Z@-<*4SR$_E%JS,N'@7V6'.^DAB8C70>N6V4.+ MO9;4/"=>4WI-IP&-#M!\6B/FSWH?6,O05N$N#M\/_0Y8BQ2F-!Z N\/!^ ?@ M9N43%"0AH<3,EZH/M2./3) &C2@B;?J08++J5AM;I. MLF>N?M.UT@J5]+-2\)E!2FWS3!3P_*, MS;-\N'KCH_+PL;3M>Z)E8NRFXL\\X=D3F^>N2/F62,5^''9C99'#7NQ' ^%J M.1D[26SZ?KO_(2)6?('EO<0+>OCZ"T)8C<+WDN^8EGZ6DSJ722J M)9?0KT-"E)6C@.,^V46!WZW@%BF,@V@R +WE1.PFQ8LD$6O=ZZS8B]X$5H1] MHCLA83#I0K2)!7X\5+I;2L1N3@2,_3H?BW=;;2$XS5!Q;6Q9.X-UU9Y8)@*)M)2[W$26B0S0!/9:]]XWRM0 "J M8TT_^I'9JDR+R>YYP-8&:JDTI-\[V.3\(/8'6E_2DB9QDR;LPX3S5*&%%,4! M33KI$R/L@[@+MR_E!T-86^XD;NYLDG]=YXMI)M4AB6]A5=\+<+=HV>1";S(T MB).65DGX_Q+_-BMAVC@D\9W\_<.)?R1M^VYI*9NX*?LS-!LO.KWUGLM%^7A2 M<5F8<<9JNX66=7/4I6^;W"3R!UIMTK(W<;/W@QX"T":KEDN>IZ9 F68)TI\7 MJUR\<*Y^-35+EZ\-D_8S1&*A[=!BA4V,!D-[L65WXF;WFV52+X" M?^H29L?:IW'L]<9IL:2^P]*C,?BQM^Y:WS$[=S/Z^ .4F MN_ES4@^JT*EQ5%^;Q;P]U)8>FQ$S6 MKP$T%_P[ >Q3-=;']]WC%HO+7(P M.T71T.9IN9ZZN7ZV7JURKEF-Y2C-5)(+M9:FW):BW':$[H\C1^7X8VG;=T?+ M\=3-\1^X.:;>'DJ)N3ZBJKNWIB3H<\&2;W;FN-QDWG>F9-JG>4PCVIWF;&(Q MB0:&.=IV _2 69[ERL _?&K9:MW]V$.]'N:^4-P[CQ_O?!@MN'PTWXL5,J<@ M]2?&YFGS3?K"?(GM/+_$IU?UE^563?VA^R.34#$4Q&,!*KUW$7A1UM^.ZYM* MK,SGU[FH*E&8RR5G*9=: /Z_$*)ZO=$O:+[@3_\#4$L#!!0 ( +* IU@K MK73M3@8 &@F 8 >&PO=V]R:W-H965T&ULM5IMGY:,78^N-D0N,5SA#]0-8XY[\L29$A MQF^+QPE=%Q@M2JB:9D\RE.2CZ5GYW5TQ/2,;EB8YOBL W609*EXN<4JV MYR,X^OG%??*X8N*+R?1LC1[Q'+,OZ[N"WTUJE$62X9PF) <%7IZ/+N#'"'K" MH;3X.\%;>G -Q%*^$O)-W%POSD>:F!%.<$;2?Y(%6YV/W!%8X"7:I.R>;*]PM2!+X,4DI>5?L*UL MM1&(-Y21K'+F,\B2?/>)GJM '#A XXB#7CGH+0?]F(-1.1AM!^>(@UDYF.TI MN4<)R-PG]V"1(EO&TG#,2?Y-XS_J]'_@6I)OB9>07B>07N*8 M1W N48KR&(NP^SC^ SX'NB:KLNR8(=DETBB1CY-#<\XFSP=[GA> MT\[OVKFN8]A.TRSHFD''LFW;:MJ%DF%UZ.E:TRR2P'FZYVAV;=<(HE$'T2@= MC2-!Y"2*).:D\AB65^_$EBH3>D72!2XHWW;?-PE[D<75Z&-(/,P^TC6*\?F( MIP_%Q1,>37__#=K:G[+-IA+,5PD6J 0+58)%BL :N6/6N6/V;L ;WJ\DQXK M9:_OJ:FA$LQ7"1;LP*S#?6E8KM/:OJ'*,:/!,1MT6C6=5B^=\Q4J\%AT5PO M2>4M)T7BJ20CMQ?I5')5@OE6)S8&#TZK-JL<,50)%@U,OT&L71-K]Q)[3>FF M?%*2)>_A*2N26#S:J> ;H"TJ%A1LS797B_9N_-:W#BO[7HT\#85Q[;W(.=M&^>= M;WT9V[WPI[*M$LQ7"1:H! N]+I&.U3I>1@-&#;:AMA=1M-<>@C^CHCX$&U(I M1.LV%UZK-9I)C/@QV(-F^Q@L,70]:!FMTAU([*#KZ5:[*0ME(^L:;!^L(XF= MKMD6-,TCP3Q0I."O* KR8$)),,UV,+M&(IB&[K2#V37T--LPS'8PNW:ZX6@> M]-K!E(P,S8[Z$,D +=NPK2,])]RK,U#_/Y4%V"O^G%J(E*+Y2M$"I6BA4K1( M%5HSA_;B%.S5+P84AG[GDU-$J?RD%"VHT!HUU-(-%[9WO5)M:7C4)JU[W0CV M"T>G* W]4">3K%1(@ETAQH+MVAXH'3-4BA8-K:!)\%Y)@OU2DC+%H>Y6EZ18 MXH1M.)HT2[JZ"6P_BY7*3$K1 J5HH5*TJ#>TS?S8"U*P7Y%2J4;T#W5R@>@J M+V-;LSK-KU(=2BE:J!0M&@Q(,P7V>A1\E2#URZI$/_S)M*M$\V%7Q^$G^\[! M2*D.I10M&EI!D_2]$@7[I:C_K$[TXY_,NE(U2BE:H!0MA%VM:6QJGMX^#0Z9 M-7G?BU*P7Y4ZHE*84HH]R?_J.RI%UVCL:);AVNU"W37TH&ZV.^= 8J?S7M?0 MVO_(DXT,7KC#BS90PX+\O"6$_;\2+.O7+9=,?4$L#!!0 ( +* MIUC2@U\X50, )$( 8 >&PO=V]R:W-H965T&ULK59= M=(!IX2D6F!TYB3'[ANCI*,&7Z5.:8T9>%5"DS M-%5+5^<*65P&I<+U/:_KIHQGSK!?VF[5L"\+(WB&MPITD:9,/5^BD.N!TW*V MACN^3(PUN,-^SI88HOF>WRJ:N35*S%/,-)<9*%P,G%'K8MRS_J7#OQS7>F<, M5LF#E(]V,HL'CF<)H<#(6 1&KQ6.40@+1#1^;3"=>DD;N#O>HG\IM9.6!Z9Q M+,4/'IMDX)PY$.."%<+@Y$A38RW003@Y1GU9L] M;?*P$T XS0'^)L#?#VB_$A!L H)2:,6LE#5AA@W[2JY!66]"LX,R-V4TJ>&9 MW<70*/K**;_3$.8S2&\&MU- MKVZ^3J9WX7N8?OL^N_\)'VZ9PLPD:'C$Q$?X!'^!"SHAJ^Z[ALC9)=QH0^2R M(N*_0B2 :TE@&J99C/'+>)=$U^'!T?H M!'6B@Q(O>#W1D^D\I"S_7LJK)#?EL5JGW;R.O?47.F<1#ARZUAK5"IWAW^]: M7>]S4Q+^$-B+E+3KE+2/H0_',DWI)M,9CQY/(&<*5DP4"!]X!K$4@BD-.:KJ M2'UL2D6%WROQ;;U:#;U3K]5W5[L2WW!Z0;U34^\"O@IMGX!26V=H%N6#9"614J@F%"O("N2D( MK4Q =8\:55?4.CN".BT_Z.[)/O0Z[W@MOUEWM];=/:I[7J0/)(KX5ORH6IDD M01&#D;2#SV#8$UEI5S'-A7Q&U.^WPC=I>4-<]X!VJWT>!'OB#KT"OW/>;A;7 MJ\7UCHH+*TF<]I;VLLBMBB=4$=?E/I?G%&1NV\^;,GJ'>]3K]/94'#KY9V=M M;T^%NU/=4U3+LNEIB&21F:H*DJ@9838S,RQ[R( UUI'*8T#\#*NM WQ=2FNW$+E#_A0S_ U!+ P04 M " "R@*=8N84KBC $ "Z"0 & 'AL+W=OOA>*^TF6>5]<]'KN:+"6KBN:5#3 MF[6QM?"TM9N>:RR*,CK5JI?W^Q][M9 ZFX[CLX6=CDWP2FI<6'"AKH7=S5&9 M[20;9/L'#W)3>7[0FXX;L<$E^M^;A:5=[X!2RAJUDT:#Q?4DFPTNYF=L'PW^ MD+AU1VO@3%;&//'FMIQD?2:$"@O/"(+^GO$2E6(@HO&MQ+U'OXFY M4RXKX?#2J"^R]-4D.\^@Q+4(RC^8[:_8YO.!\0JC7/R%;;+-\PR*X+RI6V=B M4$N=_L7WM@Y'#N?]5QSRUB&/O%.@R/)*>#$=6[,%R]:$QHN8:O0F MTEM)?GXZ%TXZ,&M86'2HO>!:C7N>H-F@5[0P\P23OP(SA,]&^\K!M2ZQ_-F_ M1Y0.O/(]KWG^)N!G8;LP''0@[^=G;^ -#WD.(][P_^:98,Y.P_ 1N7"-*'"2 M-0QDGS&;OG\W^-@?O4'R[$#R["WT?T[R;9A!%^:SY>T2[F]@\7"]O+Y[G#W> MWM_!^W?G>7\X@D?3S(-4)5 T)9W'$NB ^ KA[L_E-03JH8U;+XLG6KI=O:+) M9/>\/YK_=M6-R\$(OB"=S,98#R;0\0B.J#@'DM"V!AQNZ/QZ=P&WVGFAE$@G M49>P;+"00OD=7!$!*U>!7W7AGF!^,FXQH+&25$.J'8''UQS%A2-(0XR9 R4F M]88<3!D*4JR(>3K>"702#()FO')OB/\NU#YK$!:C8L3JB_EC<4&1+S/!9J""X6:M=A"LJB>LCT))2C&)9 M"^I:]]!N:M(*E<1GC$T516'J1NA=(B)"*1FT,-1V[=+*&27+&.N%&%7=8\J, M+#P)/E ;0)1?2:;B\P[/K@#-_!4Q+X*U'$0+'RQV0&-!TT':#]XD.%@+R;EQ M.B^1&N-DJG4\#:0%5*&]&'2B,1T0TMWXNBT D8Z]X>0L5GQO4,)2TQYCH>- M5Q81ZJ15R%KU%_0(08MA)S6:RRP<]8=N+_&* M"E2O:+1:G"%LJ01T&BD5:H4U=62T;]FIWG1H+#V4AH96&\_YJU!B[!0-=*&, MHU;P6'T+TJ99^F4V6[Q,"_%UKS(^.0V?!HYF&D=XLA%+=JW:8?" MMNWY>V7;?$_)=N_H/JW1;N)7 T]]T#Y=K8>GAP^36;J/7\S35PV-Q8;$ Q2N MR;7?_?0A YN^%-+&FR;>SBOCZ:Z/RXIJAI8-Z/W:4$7;#0&ULS5=A;]LV$/TK!QE8Y5&IR+O#P>#%_U":=.9G,9OEVYR:JN0:\.7 MCGQ5%,IMSSFWF[/.46?WX4JOUD$^]">GI5KQ@L/'\M+AK=^BI+I@X[4UY#@[ MZTR/7IV/Q3X:_*%YXP^>22)96OM97N;I66<@A#CG) B"PK\;GG&>"Q!H?&DP M.^V6XGCXO$-_&V-'+$OE>6;S3SH-Z[/.<8=2SE25ARN[^8V;>)X+7F)S'__2 MIK8=#CJ45#[8HG$&@T*;^K^Z;?)PX'#\D,.P<1A&WO5&D>5K%=3DU-D-.;$& MFCS$4*,WR&DC15D$AU4-OS"9)HFM3-!F19FK#V],:DG-[U[X-0RVJX8W4^?!3PO7(]&AUU:3@8CA_!&[51CB+>Z-]% M68.,[P>1]GCE2Y7P60?Z]^QNN#-Y^N3HQ>#D$8KCEN+X,?0?I?@XR+!'T]GL MP\>+Z_G%KW3YX=U\-G^SH*=/CH>#T0F]U4:91*N<%D$%1F\%NI10#%[1([W6 M\HH3?,RW-$UM&3BE0WK.&CPGT=^W+G-#'Y)@E^RD:JA=6#.]G2[.27M?"<3B M8UQY-CCN1J_AX.0 %@.&9I"10Z/2U'L&MC+I_ML[K98ZUP&9HP-B @Q=7=CE7RIM,.:XQLV%5-R%SO9 M89/&)*%EY9%Y[V%6+)'4.&"66U)IBG1Z04TQ;)S782L>I4#IA&- V@#<:Q_8 M)%MLF"M)<+!X3.S*Z AF,]CN:>WH4-XD8=LE!6Z89O*_5-M8S,"NJ+.&&+4C MSC),/P*>KY:>OU1BM NQV>XOP(-ZG92XG?LZIPW M6GI0CA?8]T\<9COA'LCS M4O&GV.'M3GZ-G@9:O/!:]B8J^XM"YN]].U+75" MP^/!SUV:UY*J=T98M9E:YDP[S]?:)[GU%73Q@"Z16I-Z:G%K*<1*D$)]@5*+ M'M_3&HV[DGL1B$'Z\T96DN5"SBCMN^0U:IOI1(&#;[CP+:6,D;RH#/7J-.L82'#W? M"2;V%XSS;5MW*J%C'5"^'GUB2FU4$R+!6"PA%91.049W>&RTM$*C=ZA+>@QS M-(W-A>3CE/;25;C.N-BOR-%>@:7U3=_!4_DU9;BMU'G:H I2"4RDNK-%-XV2 MI4MWG-'FLF^ZK[<43(SO4+E/];U#E;8I^IY*?VE5.L=$07]>JUMLV@CTY?@^ M@>XM_ZDP@?Q]=Y_^P844I^8J7KOEM,2XJ>^F[=?V9C^M+[1[\_IG M :Z"**"GG#.X#GHOGW?(U5?M^B78,EYOES;@B(Z/:_PZ82<&6,^L#;L7V:#] MO3/Y&U!+ P04 " "R@*=8<$H$,]$& "X%0 &0 'AL+W=OX!%N=;(;^H-:6:?*UY MHRYF:ZTW+Q<+5:QIG:NYV- &7RHAZUSC5:X6:B-I7EJEFB]\UXT7=6Y ME;V7E^>BU9PU]+TDJJWK7.ZN*1?;BYDW&P3W;+761K"X/-_D*_J!ZD^;]Q)O MBSU*R6K:*"8:(FEU,;OR7EZ'9KP=\)G1K1K])\:3I1!?S,M=>3%SC4&4TT(; MA!R/!WI#.3= ,.-?/>9L/Z51'/\?T'^ROL.79:[HC>"_LE*O+V;IC)2TRENN M[\7V'[3W)S)XA>#*_I)M-]9W9Z1HE19UKPP+:M9TS_QK'X>10OJ4@M\K^-;N M;B)KY>M%6#7, M1.I\H0%L/B^*'N2Z _&? G(+Z+1:T5NFY*6Q_H+&+2WRA^LNO:?!?PEEW,2 M> [Q73]\!B_8>QE8O.#/>=F!A*=!3'F\5)N\H!I[P:OR/ ,YN3^]O/MVT^W>-Z\>_/V[N/=N[?[S\.< M3)&2J7RUDG25:UJ2)=5;2ALB6DGN&J5SSO.NB)J2?-C0@N5<[\AKIK1DR]9^ M4G2%8M7*CJE:J=>T*YB2X"LJ_@LHQGS;2%&VA79(KLB68B[.8 ?1:YBQI$JC MJ#:L - :$00*:7+=2HKQM6@;Z&F&0E@Y%JQM"BHUR ?FB HTT7ED/A6Y6I,* MK .3)$15!28PSNT(8MR(FA6D BL(J>;[D'S$?)7@T,(41.=+3A6QR]UH&XY^ MADG$=H.+9ZR!U:)5L$']\)(\7I/_MN?'M:3TB (RK=8V_I]/-C4\_@EF(PX M2K=!^$3*#9]ON0L2IS(S8ZSTDUB)_7&BK'K.DCR<8*[OI.Z_B-2 MR9+@$12$41:3-SQ7W?:.S"[-OOHX\"@8SYM6_(^_0_*$:APX8>A_$V*O^J;5 MFLJIK7[B9/%TPM!U B^>B,\2<&4V)2<00G:"^_S4,,R4^D"A)[P!N!='I\&C MB%QQ3H0]3DT&9([K3IG4PWYR0GR&I73]Z30ILN"$R]C,8G=:7![X-?!.@J:UF1$15?*G)"?4I_R[6M:T'J)K!L+;P38 MN3&'>OQ3@K/2[EW7.<]Q$B\UC M5E(L.5OU^]86G=J+(//G(:D19[MCV60Z)(U9Z3GYE1+Z%1NB)EJ@W#53U>$,V:_QN'LG\:U M0J!'95UYKRDOK1.-@*QY$*R 57#>J VEWS,$YUW_B25@O(^.;3]WI'?(!+:? MM1- .']C12C&EDV=.(ZFC$'C4HYGB1^G/_D'L0OTB]>?9L-MIA M1QQF",B!_15=QMW&-[= M:<*B%4.:]%B8^_FED)CN>W?-?T!>0#Z+5,>*?$@CB+;/]Q!;#="O ,[]%P5^IK)+ L\A MONOW7Y 7U 8'5E[PKQE7-S\6UQ=45FUQ?DYN[3AZ]D<7TWN[YJ2N=#QGLH0HPI+#%F7%](E M,Z4 -VAXGS,)D17)&5TRSC0#W%!8: S=P%2*K5-<:$'P$@G-,LY"BG>XH\AF M>$00X28&>]V6O=91ZMQ1)0'-@DIX>14B542LL-KA55G1YE0$&B2F<7$+N&UL M6U$FR0/E.:!W:H?O0-[!R92EPF,(RNHQJT901:F1+W.%H6!8'TJC]IE9&K$' M%N64UX:^=KG8%9Y!UZVC:)$6NC!$T*GW.95HO]&'V1PX9 ,$+\NT%JL#_])* MNU(F;HPG3'A5;D=%"NNM483!D K"D@SML*P&HW$9H%C\9S;1H)!J(>T-M5@K MV#J6 "0I*A:8BD6PWJ##JH+36'(>8]:AY:RP**12/MEP3T1N<*X:C#\MW2'+ MIRI#G (UQ7 0'%NE<@I5(E=H&.9/!>3_^CL+PSS)32)%K_)>2H&A7.?*(;:/ M?Y([25-5%IU73B^:^*A(U_@J.JCE D)(EAC.I3N#QI0H8D4!:"A_82_?DKT= M"C7Y2IC@/\15@6E'SG\O-+9*?47\C7C.Q/4<[(PM6M^9>,/6^GB'?^BXH_;^ MN]'0=US?.]KB\_I]QQT,#K24FG7B!D[?G]3KH>,/O3WT[SQD&AZU3HV1K_'0 M\=[.G4!SF_QOD/G.V.T[@_&DC1;ACD9MDW;TV6->WPGZ[BN&(V'@.X'7B+_% M@G,ML!=YA5V>]Y[,J])_+I)EV7J: "L>%:Q^5)2EWR$IQCY+0YY'&([%2Q09 M;:LS F*6&2:1'H;O5/48DDCG"!PNB"]8D%2FH#JDCO;$DR5 M,Q54VSYL^PU63FP3]CUQ"-:O+8HSVREVJ0=2=;\ %)4%AP*&71"..0X#H9:CL1,$@S9EXF%,C6O*3WAJ"R0\XK2HX%>[ZP9B M.R-'SG#<+C+>T!E/:L)SS_A>:^+"M%C;N=*\4O$M4 Q?-;4>76?%Q-:P%W,O M E\S3$@.*SSJ=D>##I'%+%DLM,CL_+84&G/0?L8X?H,T#+B_$ICPY<(HJ ?Z MZ=]02P,$% @ LH"G6(T81JI[#@ X2X !D !X;"]W;W)K&UL[5IM<]NX$?XK&#>YL6<8F7JU'2>9<>Z2ZW7R5MOI?89( M2&)#$3R E./[]7UV ;Y)E&+G>M-VIA\2F2"PV%T\^PJ^N-/FBUTI58BOZS2S M+X]619$_/SVUT4JMI1WH7&5XL]!F+0L\FN6IS8V2,2]:IZ>C,)R=KF62';UZ MP6.?S*L7NBS2)%.?C+#E>BW-_6N5ZKN71\.C:N Z6:X*&CA]]2*72W6CBL_Y M)X.GTYI*G*Q59A.=":,6+X^NAL]?3V@^3_A'HNYLZV]!DLRU_D(/O\0OCT)B M2*4J*HB"Q,]&_:C2E B!C=\\S:-Z2UK8_KNB_I9EARQS:=6/.OTUB8O5RZ/S M(Q&KA2S3XEK?_55Y>:9$+]*IY?_%G9N+81&5MM!KOQ@?A MG@4COV#$?+N-F,N?9"%?O3#Z3AB:#6KT!XO*J\%GD5__VJT?[5D_%N]U5JRL>)/%*NZN/P4O-4.CBJ'7 MHX,$WTLS$.-A($;A:'* WK@6<,STQM\MH%L_Z5]/1O'JO,1AV] M^N$OPUEX>8"[2/UT(-Y]_/#SL]LWU^_%3V]>WXK;E1(+G<+8 MDFPI"CE/%8PGTEF4I,J* J]SD^ IERGPG,HLPK!>"%T:_"ML(;.8EL9@2!2: MQ[$\AB&JF/ZR.DUB6>#!+Q<,/QN() -]75I0L,_%#W\Y'X7CRW_;[Q6SN3T* MO$2K&C!08Z36PB,1SOL3+?(;(_S6:=:9A4/L]VIHV$PFO:0&(\"D!%O?BN3''ZQ$!GS MLCT/J\>[JT=!.+X0GS.YUJ9(?L?I\0$GUI9\AI&VQ2ZMX^$X.)N.3GI>3(+) M&5[]&4%OLS/Q3EE *BJ-(<%S(@^? MCLU2LJ""M,I;;5.8S'JU,3EC=3CF]Y!X@NW'LU$PN3COCIV-@[#%;)_%6=@# M!DVQ8OLQBN(CO6YL+Y?W=(@\K=_X:NN4C/PNTO]L:_O_[^%?]C:MAVG[8=9^ M.&L_=&"#+&H!W#5##,<^A]7@[]D?^/MQ/FY;XF=_VLC#G>;VC#&YIQ[S/N\? M'O>/?R?7WD]_GS_^\[3I]G-8:DYZ/ DNSCM'W]7%DQWM[,?1Q0Z.R%'#4[8V M^-&H."G$U=(HQF]&,U<8 [$G1)X 2N(X>3*?A($2>G*84'A@W;R4RGZ2X%[=W.O#Y MCXZ4BMFI.E)W8()X4)3$TKYS)4JD.^QD9&:&I5ROK10Y,RS6*BO.:53=B"NU0(. ,3)YL30N93A\%+< ME'.K?BN)PIL-QXG!P8CC"RZ7X7U1]X("&HM( SNG<1QCO32V$T5.'AY&O*>P M"B&95%9;Z*)2]Q,QVV/6^WZOU4:G&Q*I)G(L3T!HVS] -VFRACQT\G5R03YT- M)F,!KXQ*/"Y3J!E5:&EH5\J_&X,/3\]..U&'U/;9JNKTK9?,Y1HT!-&7EXR8U,4CEW"G":H>%=[0QVI?;0%[";N3:&(6Q;1':0FE@NNV-: 7S) M/$^3B"&_EF8)^+(>\[1$ 2(+ETGE9)>!4 DHFC:H+V9G%Z@DF*);&"O"+N1$ M.7-/;0:PR4:NF9T5JGIB&\IQU,1Q@<*!M'AM(:X" /A)=$P^46UDQB6F+8'^!@T! ?:?*N)W4BQ231GR M0H1/MWS@'BP ,6T!*O 0,FZ\OWJG-CB\I1+7$E 9 )Y.,.F,IH%'FZMB_Y9& M9DL8Q\+H-0#0TCHD&+8 P>K8.0@^^:3+0G,8#V&AV7VXM?OHF[L/@,^'&*(T M%#H5XAKO#5OC:7J=R^R^AK>S/88F0A(M6"?EFH &NY%$47,+*U,?7:EQ]+8S4!C%9&L)Q MI)*\L(.>B%,KI(VOBLD5>>E6=<9_P#!V/6>Q@EI<4&2\N90A@9O0<,%+ AO[ M4I%[ T)OU1W M:DAATP=3_2_M//7D,TW&O)W3-".NU;$?8]M\',]0!)V%/3V:ZL75KB)[,IEV M)=#MFNR._*K8';1-%R9+T$6:P=Z"@D4^M% MX=X[N0W>G),(D]3W>!:+RT!:NE_0@4Y1=Y"6-4122L8O#+I1(%&]47CCH#J2XC[&Z<#!>(2DQNB4*T8^)0X3DBHO7STUA'"":97W]G&)\>Y10H.RO1Z) M&;P:@ VG2]$['#[U]!+ :HEPN.1H1"=E]PO:(K&P#NWFA'*\;O!>\&ZEJ2 T3?%*,F)]02DG M(1F"<..I\9^],_B'U/ M^%'8?ZOFIB3#]O"_*I>$J1WLM\:AG=%@KR0-\%ND [X?^,]AOX_1_S7L]^5B M6S;0(^8C;>!C5.B6@YL]U@J^+7NR:(X_1OWN&T3#D:_6?$5$\0Y5ED=?PU9U MHO<,8$ITD<8_;]K,U"T:AJ-!.!L_#9J&LQL>#L9G4S=\WAH.![/S: _BWH!<*975!E8MPWTHO.067D(1>!-X::LR\::1W(PARLQA"L<<@,N2@ M.AWWEE$5*Y2KSJZL<.W<;I[NT%S=7%-;ITLLZ+2$'==5#P/N*=>N//>%'7;= M*,RO"L^:&,B@P'HR'(SJZ-;7ZNO85EU#;\NG)):LY$91-R39.%?@VCZN(P@V M "T7P_O"Y"+Y2LJ71&RNBCN%.# :G#_EV9/!I-U8^5%O4*AC;^(*%2:IZ98; M.#$X0J"S8HDIQH5)I-2]B2WHTKL^"SHN]%*1OPEXBN^'M:?XAM@)!S_IJH8" M/I@^X,&8X\]RL1T0\(@1[LT5*]VHSU'9:W=58;%T+P?)W'\<;<,17.>XBIT"I9F7D MV'!-RL4"VI=L7]SFW) 0"BD,-+M&TH-B:K -,W_!P^;7E&/*W8: .__QE3=8 METRHYL H>?+\4U.-J]&&S-*0 OGT*7ES,=B>=/"$,CS36>LBIW%WNC&P2S$W M;*&DL!J--W MJ=D.?&"&+A4#B!OE.HU]15R'C#%"!N7>!\-%I3I7G1_*5BF8QRI*J7+H!D>- M\.4[C4W(XS:9CXVU,]3N"#H;M2R<.]%N#S8KD2 GBPFX\"7TQ0X1]36&P^N. MVZN:>TL4 D "-0_8=5/XFI/CA2Y@IWSMV2B7^Q)(8C#[RK5'AA?CL1/BSC5; MB$"[X5+1J2XF=N3R)]-BQ -P4=(Q;N77V^U>[WMM8T0=Q^M\3[_[/>!NP3<. MC9I[=<[6P38QS4[TLFX'5_LGV08GZ%VC<==2N[.J4*'BVI'RI)9[:KYA(P<5 M5/XG:'(S1%7X ]EX.(YG+"-=>4@BB[>N2G/T*Y^W[>^V-V^Y@SJJ^=REI;). M"*IUQHKA5GH[M/ MSK8: 'PR,"+MN1Q\ZYAKUTC,TP>OW6C+ZMRW5P84C[2FH,$3Y=+OEM@+^3OOEQ:ZO<= M/.R&O&G.-U*ZD$22UTE?59UMV&3G]P1S*_X.J\+F< O7BCY'>WS7^:KOZO>] M_,KB]VBG:3!.P^=\S?/^&[IJ5H1^12NG<^FHEPXX:EW5MJ?YT;YO74];GQVS M#=''U10\ #SW!7(]6G^_?>4^6VZFNX^_W_-%ED7<6&!I.#B;'@GC/JAV#X7. M^2/FN2Z 4OYSI22\)TW ^X6&R_,/M$']5?NK?P%02P,$% @ LH"G6$!D MV/44 P 60< !D !X;"]W;W)K&ULK55M;]HP M$/XKIVSK)TI""*QK 0DZNE4:505]^6R2"[&:V*GME/;?[^R$E%4MTK1]2>SS M/<\]=\F=1UNI'G2&:."YR(4>>YDQY:GOZSC#@NFN+%'022I5P0QMU<;7I4*6 M.%"1^V$0#/V"<>%-1LYVK28C69F<"[Q6H*NB8.IEAKGMS,L^28SUN!/ M1B7;X K-;7FM:.>W+ DO4&@N!2A,Q]ZT=SJ+K+]SN..XU7MKL)FLI7RPF\MD M[ 56$.88&\O Z/6$YYCGEHAD/#:<7AO2 O?7._8+ESOELF8:SV5^SQ.3C;T3 M#Q),696;I=S^Q":?@>6+9:[=$[:U;QAY$%?:R*(!DX*"B_K-GILZ[ %.@@\ M80,(G>XZD%/YG1DV&2FY!66]B*XL!]E912=%.V2P\2+A@ MJ@O]7@?"((P.\/7;3/N.K__OF=9$T?M$MDU.=M&.;F0Q>. M/IV$0?_L37VNI#A^6Z.+5M*.VP6#+64&K"QS7B=H ^92;&J9":X-E*0ZE3F7 MK_'^UWOJ/A3U39RUC?.A\UZ2;X]^**DUG._^@=JIWQV&@R^P0L&EHJ(8^AH[ MP&?H#Z/.MRC8LT1!T F" *)N[P NB@;.Z]4R:'"-Y;V.\O?&78%JXX:Z!O>[ MU9.OM;;WQK0>EZ_N]:5#Q=K0WP(YI@0-NE\''JAZD-<;(TLW/-?2T"AVRXSN M/E36@&ULQ5?;;N,X#/T5PC,8M("1^!+' M22<-T'9N?>@%36?W67&8V!A9\DKRI/G[I>3$=9NTVT6QV)?(HD3R'(JBF,E: MJE\Z1S3P4'*A3[WG7NCM!'?%*C=6T)].*K;"&9J? MU:VB6;^ULBA*%+J0 A0N3[VS\.1\8/>[#7\4N-:=;[!,YE+^LI/+Q:D76$#( M,3/6 J/A-UX@Y]80P?AK:]-K75K%[O?.^C?'G;C,F<8+R?\L%B8_]48>+'#) M:F[NY/H';ODDUEXFN7:_L&[V1H$'6:V-++?*A* L1#.RAVT<.@JCEQ2BK4+D M<#>.',HOS+#I1,DU*+N;K-D/1]5I$[A"V$.9&46K!>F9Z0Q7%&(#EZ(Y8(K4 MI&_(L%WN9ULCYXV1Z 4C,5Q)87(-7\4"%T_U^P2H117M4)U'KQJ\8JH'<>A# M%$2#5^S%+S+Y^O_IZ?0^7U]]N[J[.[B]OKN'3AU$4Q)_A/D=82DZW MLQ K,&S.48.FTGDLW.TQ'B]<%4TUSK>V[8#U;)(^6MQ5,PSHOJ*H6VK5(]$8(6!2*.B\*JD#K7"J@1V&% M<*1KVDDI12\*\2,7!*#CN*RXW"!:DW)KA&*@Z\HFH'._=7K<<_?A'ZY,2[IE M)"2]9K9N+8N,PK#9HV@/I25&*0'+6F3- >VP/SK+ZY+9]E235H;:AR55(Y&1 M=WM4'%>,^UL0+F!;TOXN,+K9*%W:*^3N[#.IR74/#O45_4ZS5Z):N9;6(JJ% M:?J^5MIVS6=-L_BXO6FYZ2E<%<2*XY)4@UZ:>*":-K:9&%FYUG$N#36B[C.G MSA^5W4#K2RG-;F(=M/\EIG\#4$L#!!0 ( +* IUBLMN/QR ( (0& 9 M >&PO=V]R:W-H965T6>(/V6W>E:98, M+!5O41JN)&BL9]%\=+P8NWR?\)UC;W;&X"JY4^K>3L! M3U$(1T0R?FTXHV%+!]P=;]D_^]JIECMF\%2)'[RRS2R:1%!AS5;"7JO^"V[J M.71\I1+&/Z$/N:,\@G)EK&HW8%+0;+TYAQW )'T!D&T F=<=-O(J/S'+ MBJE6/6B736QNX$OU:!+'I;N4&ZMIE1/.%N>R5"W"+5NCF2:6&%T\*3?H14!G M+Z!SN%#2-@;.9(754WQ"2@8YV5;.(MM+>,%T#/GH +(T&^_ARX?R@H/=FC;3QH&^]C?U7;7O1+VB99FI_ M)(;SKZ>7%V=P._]Y=@/;^.5* ]8U^E8 R]:@F44#/6J$["@>0X>Z1&F!R0JR MP_CC$*#^!]L0J-&(T(9K1W?M0)=6-L.M>>B34'Y [6NZL*MXC.&6>!IJ%]0! ML14"/3/0:4[VP,4C@00%*["*.('+DES'( T\ -=D3#3=R3(-T_C>-6D%=+9N MG;G>CX<#F#^!JAK>9G%*?25$,)E7J;Q$C:5:2OZ;UDB,HD,M%9V$#,G2*,$K M3V0LOQ*_&?CSV&YS[)9,<96M1+ M[W^&1*ZD#28Q1 >+G0=G^9L>_)FV6W*2+K F:!I_.(Q !\\+$ZLZ[S-WRI)K M^6%#OPG4+H'6:Z7L=N(V&'X\Q1]02P,$% @ LH"G6-204^A*! :@X M !D !X;"]W;W)K&ULS5?;;N,V$/T50ELL6D"Q M[HZG8M-V*Z9A7*F6)[5--RQ9:9T@S,=K^@2 M9J!^6]T*K#DM2LH**"7C)1&PF%BGWLE9J,>; ;\S6,O./]&1S#E_T)6K=&*Y MFA#DD"B-0+%XA'/(6JFQBQ19) M84&K7-WQ]1?8Q!-IO(3GTGS)NA[KH\>DDHH7&V.L%ZRL2_JTF8>.0>SN,/ W M!K[A73LR+"^HHM.QX&LB]&A$TS\F5&.-Y%BI%V6F!/8RM%/3&USWJS+A!9!; M$&2640%C1R&R[G>2#+O0 G(-2]5)LEEF4+ZVMY!1BTMOZ%UYN\%O*9B M0 +/)K[KAWOP@C;,P. %?S/,&B7W)U<_[K]26YO;PCLR^G=^22?/P0^V[PB9Q1R1)2 MHC-6.UNA,ZF=$29)0O.DRJF"E,R?26S32NA"&Z([QE,;][G*< A).&9XBI8F2U%FL*4H\!?W M?O) X%O%'FD.)6H/N6!YI3T=QIZF?V "-7Y_C+#FH:U2[1%U@\!B@4*BS7?1 MVVK?1)N" H'YBUXKV5!2**.R$L\;K )P1M+!FY5"P)K%KKC7@!]L6YDA5*+O M'+56GK1 _U1YGPF 5ZE.,%&3S&3JV\$Z<[N5@-R\L/^9E40OO\3HY"_ML)^( M%_EV$'O=EB"RXV/WW:2_OEWMEXW0K&1_^8^TU./DOP7#0(>A9X=1N*TKBEQ[ M&,7OIGIQ^&;[\<6]FYU*DW1$"Q=+X$B?9JG.OY3IW),]$XPT#OS^ROHX"4$' M$(_S!U#?Q\/I&451'R^TXZ'7P<.];:X;Y2$DO= ._5$?=&2[@4=F9N+X:KOM M*+*]L+]>\=!VP^&_O>.:)-^RL>(PL&.O3Q2[CKW ]H-^_(>66X^#+LU.*H:# MV']5#;QW^]TAY3L]'X]>5?V7R;A'):TES^@JG>>PN6.R/W&2-W,-3TE>:<5: M"%X8]6T."WWLX-+LU=@Y)+22H.V8:-)SS:L\)1FN,O8#WC!+Q8Z: ^/_H+Y& M=4^[K/Y;/?'ZJNEYMC=\CY8<];/6'@7!>U6D#W?T'>WH6Z N^K%+[KFB^>O- ML/O.<, 4A7@B'K=JM.VBZ73N_P6(I7GEX&V(5Z6JGP)M:_N0.JW?#R_#ZU<8 M[J@EPVAS6*"I.SB.+"+JETU=47QE7A-SKO!M8GXS? R"T .P?\&Y:BK:0?N\ MG/X%4$L#!!0 ( +* IUC]J6IT$0@ & 9 9 >&PO=V]R:W-H965T MY "JBS)DB]M$B"W[@FP;8,D/7UF MI+'-C22Z%&7'^^MWAI1L^I:TBQ3GQ9+(X7"NWPSIXX54C]440+.G(B^KD\Y4 MZ]F';K=*IU#PRI:*>"9653DW2@(^MV"B[)S>FS&;M3I ML:QU+DJX4:RJBX*KY3GDGG2&'9;!F->YOI6+OZ#1 M)R%^J;Z+DJU$BUJ13N/GF7XF2N?]4*/ M14$4/\.OMU*U9_CU?E%5?Y^NEE6\GQ5ERH=JQE,XZ6 J5*#FT#G]\X^P'WQ\ M1M!X)6C\'/=?\LGSG,+ 9W=_G=U>O3\_N[NZ9!=?/]]BJ5^"^2T_RYY"IC6K*)XJ5F&+CI(Y,SDKORFD\^0VNEPBC#%.4+3J']M!*I M1F4K4GS/$*M+0:0S4 :&RA087^!^.,;+C&5B+C+ %_A1BSG/H42@8F=Y;H6I M&/$H> ;L8F MY!F"C$#SK0AF.98]$@@VAC#)-KY,_#^Q2R)@(,,SDI,3C-/K)62(;&*^V"LI*Y MR(S8E<9'89BBK[#6*=Z$K(E[65=HE>K#2JS7>MY/%< &8CJ!LDU,@>-^]%YV M=DO]AB5>& V<[YX7]A)VO6-ZA^0H\H)@],X=B9-W/^<:WM9W8T\T_&%?44$6 M>FEBG():&YL4UB:P91.;/*Y3/)0\A9DF6&APHG'_Z[OKM9^W=P@.J\PU@/+5 M8N4.Z9>Z>$ %T9IW%B:^FTX#C7,VQVB= /N70=Q+ NM/7"CV-\]K8#>XR*QX M!0X["ZZ>0*4"@^8&<=JE/)M,%$R(T76)&([-6]IP.^>Y ;%+2,'(TWBUM](T M'"5^X@1=%/7\>+2>CH;^1B#W_;Y+/AKZR="=3[RX'_E#JQT*WT[%D=]WZ.)P MY"?]#;N'T4>'X.61[;47LD1#X9[=UE#KW8_BH1^YN17U C]8JWF4^$-W>A#X MD:MF.!CX2<\=\'I)XO<8=JEC$';3F5#NEM'6CH.^WXM?5>/6NYL)N_;=<+#A MNZB/6CK34>2/-ESG!ZXK1[$_=+_CR(O1W>$_GL>K'LJZV4#AE@F.^+L7E__? M^A-S@N-%FZ"\2=!U+X'E#JMYJFN>,PVJ,' [QP[+5#^G2Z/J3!V:?!)XVH%\ MR1+<80E<5>NR_)VZESFU(DZ)/0CQ;6E1D)MJB^UA739[-RT!IVHN%V7;9VX5 M%H]E.( B_*9ZO*]'VR'ZYBKK=N3H=ZL@OGYK%3NSBJTMMH6=MRO7[&6%6"ID MMEDAWI!L<9+L!HX?->5#'B@?+R7NO=08&!ON_%47OBCE]O,KM@5&/],T.EW] M*H;*3%AUJ*8 MO2UV9RZ!O:CQM,)*(Q/I!8-$Y[]!P_+MI%#$?>J8)E+&V>Y M>(1<3"6:&@. 1MS3A>9J AH;?-.-IU,![L@BF1[',*2@ZY& MSC.^E+6V9PPST=BQ%8JRD=HD(M)(1,Q^SC:_NT7]W<\;8QEV2Y:R]KEM;-.F MPMH.-XX=VH/Q*D9:AON[F'8V>+MZC9+U>QBX$_3Q"1Y430ULF!@\B-RZY8V& M;N_PWBW4\> 9RL0;#:(U[VB[^4%0]X(D/L []((P?H9VZ(58,+:Y;ZX8QH(I_H2K=)B1%N^W2?S*W\:BML7)AAD^:#@USSPU)X;W5*+:)"4$L(($;_T&W [@V0KOY!R< XAEYX+! MS""RQTHPK,>VSZK-5<4"Z]>;V(_;L_S6 9;"<&["L#D-K4W#&9Z2'D%OVV5E MC#VG?;-=!E3&14DDE<$G M\GQ)F$JHU*![*PZ26^]2V-K+ DJ.?QYW]I;LC=QR!M=A_!EXA3XT 6,]S(Y, ML[/;KN$AHG]X^QX= ? M$/5E>P>V%)!G.U1XQ CV+'Y^^*K2IA7,M@)Y(W!-1&,BVWN_S%4(42_H^?WA M#G\Z@@1^?]=M.(%];11L3^R[5>TZM]X%8+VFN_T*$ZDNM;T 7XVN_CXXL[?F M:W+[WP/V?Q,\J[(&ULQ5==5]LX$/TK.BFG3ZF3.$ Y+7 .H>TN#WR< MIMU]5NR)K46V7$DF9'_]WI$G#/H C6_-U9^:.=+PR]M:51%[<5[IV M)X/2^^;=:.2RDBKI$M-0C2]+8ROIL;3%R#669!Z$*CU*Q^/#4255/3@]#N]N M[.FQ:;U6-=U8X=JJDG8](VU6)X/)8//BLRI*SR]&I\>-+&A._FMS8[$:]5IR M55'ME*F%I>7)X&SR;K;/^\.&/Q2MW-9OP9$LC+GEQ45^,ABS0Z0I\ZQ!XG%' MYZ0U*X(;WSJ=@]XD"V[_WFC_%&)'+ OIZ-SH/U7NRY/!T4#DM)2M]I_-ZG?J MXCE@?9G1+OP7J[@W30\[W#8$C@:/R&0=@)I\#L:"EY^ MD%Z>'ENS$I9W0QO_"*$&:3BG:D[*W%M\59#SI[/6X8USXMQ4"U5+ALH=CSQ4 M\X91UJF9137I$VJFXM+4OG3B8YU3OBL_@DN]7^G&KUGZK,)+:1,QG0Q%.D[W MG]$W[>.O7TT.Q^^?<7*_=W+_ M.>T_[N3S:B:31,R^SB^N/L[GXOSZ>" M[AM^\&MT]RWHQ)724B(^RJQ$\\&@4Z$12^G$@H@[,C-M[2D7(!.3&$Z3PQ=BF/X?&,:1&!S8 M@K"Q)F\S;B]V-W-^T4'*?8H,^+7(N#!@7L4+7S+(6373\(^F2;3%^)^N"7Y8MS9+?8; MYYK@4 ]Y'VS@+>:/4C6N9S'0/U=<9+\'Q2[$ -?&.ZS* *W"P0BB\@Z,5) M>LM6@TB6Q#-GDHHU2;M%4V>.';?Y&QY$:X'9H# E+*?B3NHV>A68= EVT(S* M4&1DO>3ZE_;BOF8P72A.,1!J[63VH( GF";/"MC?/O@&9/TFT\:QE*4[ M/@QV AUY0R#_"]LCX59RC9F&1TX,4; JE0W^1GQC%6]@CN:8_V&.,XY:]0:M M_EVM#'D(F;8H@TKB ;L4Q!.U(NE:&_@>I6>5R?L9HH%930%5Q*YQ[@ZQLQIK<" M+]UU([FCYJWSEERBJ&-:MDPFXL:B*ZU"%F6,G+?LX5"7[IY8=O#8)@*.SS+ M2VNJW7CZ>O_5,\Z0H?DN> B#A!7CM Q-FW%QJ\( M=S1V%6?#>)'IW_;7P+-X^WG8'N^0<+W 6!":EA =)V\/!L+&>UE<>-.$N]#" M>#1Z^%GB*DN6-^#[TAB_6;"!_G)\^@]02P,$% @ LH"G6+&*Z!U4 P M3@@ !D !X;"]W;W)K&ULI591C^(V$/XK5JZZ MIY0D3D)@%Y" W:I(>^T*]MIG$P9B76*GMK/L_ON.'+.)DSVKV40VIN0"GA71354Q];Z 4AZG7N2=!6M^*(P5!+-)S0ZP M ?.U?E:X"SJ4':] :"X%4;"?>O/H;I%8?:?P!X>COO@F-I*ME-_L9K6;>J$E M!"7DQB(P7%YA"65I@9#&7R=,KW-I#2^_S^B_N-@QEBW3L)3EGWQGBJDW\L@. M]JPIS5H>?X53/*G%RV6IW2\YMKH4/>:--K(Z&>.^XJ)=V=LI#Q<&H_ [!O1D M0!WOUI%C^< ,FTV4/!)EM1'-?KA0G362X\)>RL8H/.5H9V;S/%<-[,@39UM> M5B^KQPWY_&E$P_B>O!1 M]K+$^N3B0 S;ED T&(U"90IB\#B752T%"!3*/9922[7\H.H3+E!3-IJ)G;[K ML/_O.G<.SSM\%WG1/0SR #E46U!G24SF?6;_GF([],0UM*&AC^=<*&[DR[Y;-%9@H]<>C85^<^6%( M,=%[4 KSJN 51-,/ \VSZ(KYR(^'*5FZ/H;WI&#+S#7OU(^R?A#H/:9#3(0! M?,RF2R)V\U**P\\HKK %;TT_*WZ<7L%#-_&8_(XO6O4S%OLT"_OBQ!^&*7F1 MAI77'O[%K=,P\A/,UH3R(+@;5=>Z M27#1XS&5!S?)-!9F(TS;[CMI-RSG[8SX4&\G+5;1@>,#+F&/IN$@2SVBVNG5 M;HRLW<382H/WYCX+'/B@K *>[R7&<-I8!]U?B-G?4$L#!!0 ( +* IUCZ MD4S!]@, (() 9 >&PO=V]R:W-H965T\4V MW(G4B7#?O\P*86LHMDDZ.[,;*(;IV3%=X9L4Y;"/)^STIMI-(AVBGNY M+IQ7)+-)+=;\P.Z/^LY 2CJ47)9<6:DK,KR:1F>#D_.1MP\&?TK>V+TU^4R6 M6G_SPG4^C?J>$"O.G$<0^'GD"U;* X'&]RUFU(7TCOOK'?JO(7?DLA26+[3Z M*G-73*/CB')>B4:Y>[WYPMM\#CQ>II4-_VG3VJ:'$66-=;K<.H-!*:OV5SQM MZ[#G<-S_@<-PZS ,O-M @>6E<&(V,7I#QEL#S2]"JL$;Y&3E#^7!&>Q*^+G9 MK2O8T(4N2^E0:V=)5#GDRLEJS54FV4X2AT#>/,FVH.+V_G\>C&_ MNED\T-G-)>2;Q?7-;U"PQ])=$)9R97,6G>Q-LQM'AOI"M*-H5P:W%5MVM3T"L8>TQ7" >@9 M,^![ Q-JH-,=XC,,N 0@PEA'2HJE5.#)6T]AI&5:>G=A$5FOO(/$8'+" 4IC MA;-"+!)VCP/T.PHQ\5/&M?,&M=&%7$K'N<<4=:V0TE(Q*;'I[>>OLTSXT264 M>@9EIII-&*(5(BUUE8AV)/@% M3MY@IFVSS$1%:+Z*2HPC"2S,NTPWH3M\9*ESVZ.[-Q30.FP"Q5Q3I1T5XI%# M:9 @/]72M.>50V%/"1*..Z8-\$';8+IB).:T,KKT9=VB"AN$'<=&J%?92[M+ MF/->URLA-H7QGY M%]M0SGW$/2KQ%AKJ^ 4Y;ALP='8@Y/>0D6XL-NQ)%_AG_9Y9?^S_U&+J944W M]CKU)6=<+D%MNY/2[5YR@>]_9_BV,W8[O]!@-(C3X_XKS4$\/AYB'OR+XKV) M-3R*QT?C]]2CP0$MM$.[O.%P.([3@_&^YBB-T_'13O/>B$WVWD7P;7?.SJ(R+0O?BLX78=7=JD=+FA8 M%OA(8N,-L+_2VNT$'Z#[[)K]#5!+ P04 " "R@*=8Y-PS+A,% !,"P M&0 'AL+W=OW?B MV,GA:W/ML!KW*(6NV7AM#3E>GP\6T_<71V(?#;YIWOF#9Y)(5M;>R>)3<3Z8 M""&N. ^"H/!ORY=<50($&C\ZS$%_I#@>/N_1/\38$;ZTU7==A/)\<#*@ M@M>JK<*-W7WD+IYCP,O[9+M%,9YZX.M.V>?[1L EUM M\>O/Q@&P\G*<=Q 7"2)[!F)&GZT)I:A514%=A"9B@UCUV1;1XAWJVWKDWDM),4C_]%JQ[2\ M_C0DZ_0&7E7U0,H8VYH.1O1=X:X0UDX]*H@?U0N_+;,;0AT M8PMM+*TUXMK@*%. (. =QV,BR48!_@G#-;.P? WP"9JCJF03EJ%D0N-7[*B% M)EW<$$7:.;'H$;TR5!NC>G&A3#M_0Y2(EL(.B7 :]D>QLU+6S?* M//3V0AK;N:UK'>0$GS AGP9G"$^-/1!T:F?H%F[T0>7(0'B@VYVE7:GSDG;* MHP1VJ]%;0MNW*E5@ A04I]1D-E>3U+0"ZM<0:H-)13Q M=Y< >4TWW&?\VMF-4_7P23 IUL,TU@#O?=I&C%Y/4>955^9.G9)>K# G\SMT M0*FB:/:./L*LF/B>\S:5Q-EV4])6N2CJFI7Q"#>O6BAP0_*U@Y.[P_>P1P%7 MI[1L>&.#3N5U\%51+C!1>8YOC8MO_$\\?C*UKBN4VBI=J57%B<>(;I]/ M&!46\1@;R*XJO<$Y3V5G#T2-=:20.@E[\$,.&NV2C@MX0S!=H;IFLNZE>NTS M^2COH:0-%P$OCW NN%O1ZB$B=7((4>>%]GB=OL0A,@SXN#^O)\PGB).E][61 M@6-^/8#D(.4]AU[P"!O-8E"D"JZ^K5)\J]9C9GJ//N_WOLO=9XB=?#3L-*B] M) I23T,GKRQR@':H=?&;$!1V4BB![]76FRP^X >C.9"P 4MNDG##)'K'/>,UB&FY).TTE<) LWC,%0- MIL6]KI-:7V?'HZP?C3_%AFJN93[&@N7*ES*S0;KHXOM72'" RC'?!4#T(I/C M,;'HQ=5^4J:YNUA>TLGD>!BKG$U.+_:FEX^F?A1?3D_W4OC5!W5\<,.IV6WB M/4Y.!)=TV>EW^ZOB(MV0'LW3/1.W"WRL/%6\ANMD].YX0"[=W=(BV";>EU;X M,-DZ/I:X[K(3 [Q?6QOV"SF@OT#/_P%02P,$% @ LH"G6+,0'\T>!0 ME0T !D !X;"]W;W)K&ULS5?O;]LV$/U7#BY0 MM(!K.[;39$UB($E7-,/:!4F[8A]IZ603E4B5I.)X?_W>43_LM([;8ONP+S8E MDN_>W;T[4J M+(.\&,Y.2[7@6PX?RVN'IV&'DNJ"C=?6D./LK'=^\.KB4-;'!7]J7OFM,8DG MM8;"2'..0F"H/!WQY>/;)AW&P81]ZUHGPX#;,C*8=+@7=1XXT?P)O3.FK#T]*M).7VX M?PAN'<%Q2_!BO!?PG7(#FAST:3P:3_?@33J')Q%O\N,.[_*R!IGN!I%*>>5+ ME?!9#Z7@V=UQ;_;TR<'+TBM..XG0?^NR--LHD6N5T&U1@E$"@:S%C\ @I M[^+[[Q '>U@?=JP/]]JXX01P^9K.4UL&3DF9E*Z\KS#<#KJS!N,DDM@9^I\T M\R@V/7UR/!Y-3NC*T!])L'-V(B)(*2R9WIS?7I!NZ-U^C#,O1L?]N&L\.MF" M1>NC2ZC:H870N?<,;'&N>_>[5G.=ZR#%DSE;=#,>U1R6=!GKF)V/V FB=/8.1(28>FA8)5\J[3#G^(Y-Q90\Q$Y:;-+H<32O/ +F/985 M4%.T0>=U6,N.4J!TPM$A;0#NM0]LDC4,YDH"'"R&B5T8 M'<%LAK4;6BT=RIL@K/NDP U]5OY+M8YJ"^R*.FKP43OB+$-?)N#Y:N[Y2R6+ M6A<;(B$X*IA-7I\?O29W>P^Y?.&9; MX6[)\SVR7S3ZG#RJS\F+T5&GSUM>Q,#><&E=-/?L@RUU0N/CT?,^7=62JBW# MK7J9FN=,[<[7VB>Y]15T\8@N$5J3>NIP:RG$3)!"?H%2BQ[OTQJ-^Q)[$8A! M^/-&5A+E0DY/[?OD-7*;Z42!@V^X\#UN&9YKAC1:^0QIN#@L!5,K"\LSM==WJF$ MCG5 ^@;TB2FU44WP! =)":D@=0HR>L!CI:44&KU#75)C.'G26%P(/NX/7JH* M%RT7ZQ4QVBBPM+ZI.^Q4?DD9[E%UG%;(@F0"':FN;-%-HV2ITI8SRESLIIM\ M2\)D\0,JNU0_V%9I%Z+OJ?273J57Z"BHSP_J7NX5M9".IKL$NEGYL\($WH\( MDWS)B>@.80R\L$[F$1IQPTGJI.O ?_0QB5H_=D,P"I%[J71]HM5RW,QA6%^- M8U?X+Q4X_8X"(QV_M%4N?9!46>8:;Z7\T-:MN!L-Q[+[_\M5RZFZ7[+?T-G9 MJ#O-[KK4#+>NRC@U%_�$Y+M)OZUMR][;XYSNNK]F9Y_<&"FRD2Z"GG#%M' M@R-<7%S]$5 _!%O&B_?T>/[S! ,A( !D !X;"]W;W)K&UL[5A9;^,V$/XKA+=8> $VIFXIFQC(L=T&V"V")&V?:8FVB%"B2U+QYM]W M2!^A(\5-@_:AQXM)CCG?')J#Y,E*JGM=,V;0MT:T^G14&[,\GDQT6;.&ZB.Y M9"W\,Y>JH0:6:C'12\5HY9@:,0D)22<-Y>UH>N)HUVIZ(CLC>,NN%=)=TU#U M>,Z$7)V.@M&6<,,7M;&$R?1D21?LEIF?E]<*5I,=2L4;UFHN6Z38_'1T%AR? M)W:_V_ +9ROMS9&U9";EO5U<5:U/8 M7';:R&;##!HTO%V/]-O&#QY#3EY@"#<,H=-[+4D-G9XHN4+*[@8T.W&F M.FY0CK?VH]P:!?]RX#/3&_; VHZA&U;*1N%6O?/P(.!7JHY0%& 4DC ^@!?MS(T< M7O1ZL7(/$PR V3X[UDI;L= 2)H)EZ8*/I^W=!2CX>4#'>J1@?0I_>0MY5 MG6!(SB'JG;H:55S3Q4*Q!36L0K-'" %U#RE+VPHME:RZT@S9<5C27.=[5B;"_&$41H M6;L0?;[9AJR_B'H[KEIMJ!#49=V6>+MD):?"/*)+KHWBLV[O[T^"0QEP+/I) M+PDX?Q?L#=.\@I#@GHCO4)K%.(Y2CQ(&*8Z*S*.,DP07!?G@D?(HQGD<^4!Q M@C/B4\(PQE&8[@$% +T/%.0XC0IT(9N&*6O:Y*JM.FN:I^=V#"PDR7KT*"SV M=-Z.XP+GD2=O.\9QA/,L'L '!?,!?#"7Q$4?/P?\; @_Q4E1H)\@N32U^?AD M<5;D.-MS76)=5\2^H]($P]QW5(###!@#_\-D:89)07RH),=1ENQ!$1R&V3,H MP ^CW$N(-Y>03=GZOX;\%VH(P'4;,-NR:%DRK:7B>P&>0G*EB1^5<4%PFA8> M99QD."'%?E22+,5YX#.FA& (4%UC3"<1R^"7'#^KDSAJF^KF&&B[0O,"8X"M(>>9Q! MK2SZQ0D*0C%0^\+<5IA^Z8,2.F -@ =I,@R>).A,""1-S51_0X$)Z5?2 /K) M 'D,GY*$?3$Y1,& R=#,4M)/K@#J:Q0,@N<##LH+',;)/Z5X'SBK)KNS:O+J MLVH)%4W!)0M!XC"SSIT=37 ZXP+.V^"4%3?UYFH#L3IT;#TL=*#G0)O9-!WM MNLX;=<'([T5_?2NZ:DO1V8(/8KZ 5>C*L 9Y%?1,6T^^Q-YO$Y>L9,T,DL4G M7DAH*JT&,3#34O#*M=QS*FA;,G1K[XI/H=GO,!=;1YTYY[W=#7#)8OS!G0DP MZEIPN@ ]]J@MI(H7V01J;^ 14DCNO%]#_NRXL^C+TZ=_NUF7;,Z4 DLV9QMT M5I:J@[4?6%[>09H'_F$6#JY1F@QEW\2[QT,\+MQKA8;([5JSOM+OJ+L'D;/U M.\#3]O5K"L3*@D,;%FP.K.0H@YQ2ZQ>*]<+(I7L5F$D#P>^F-:,54W8#_#^7 MTFP75L#NF6CZ.U!+ P04 " "R@*=87HN"1AT$ &#@ &0 'AL+W=O MLIW:!O)8NP#M M&C39XRLMG2VN$JF25)WLK^]1LF4Y?F08MF$8]D423_?XG>[XTW&\E.JSS@$, M>2P+H2=.;DQUX;HZS:%D^EQ6(/#-7*J2&5RJA:LK!2QKC,K"#3PO<4O&A3,= M-[([-1W+VA1,[:\$GOLB-%;C3<<46< _FI^I.X%+N)B05@I:V&(G)/%.I_9 M$]&PP(UC]B7QEX5!0FAT3*X 2-D6&VRQ"98JS;M:T1XB2I:@@#"-Y@42@J9M M*%EK+(.^(*]?#0,O?/.?O5^F:5W6!3/XF5[2?:>DUJ3KTT-J;W\E#XH)C4XM MS[U@?5M6C"M;BT[T(W+_P2@WD$(YP\VQ*F>X227+N(VH>Y+?D+&V?&^W0B=^ MC]A ']):@^EWSK^O-6Z%-JQX]M6_(SX=>3[%;=^3173D)[WUV3/]A'J#_ON3 M01)0+_!/M_3\**)>')/["E+."O-$;K@VBL_J+0@C+Z11,.K6"0T2?P?]B8]* MR6G/:HAZFPJ=[;QYD)CN9O]OD 5TZ$4T'H[Z:!'N8-!/Z5F\QLR/:!AY+R2. M@CB@H3\Z0J-Q1Z/Q47Z[QZ$FJPNP3"8;SN<=YR,K:3![F?^XTS74C_L=4B)P M@W&1%G6&/=_^U%%10=L[.N>559+B+)5E!08-%\BIMNM1;G]/1K$,AS$AS\H ,W%*II6EC_];$!K7T;'(B:W4HS[^;>2^U_[ MNR,($SH(X]/C1=W$C =#&H9Q7S+RL7&'1YHVZ9HV^<--NY4'/.)LKF%?QQ[W M^'^M_[%:N[W9''?]HCF!( O8>:H=TSMI=\BY;&?[C7I[0L+ON>#XNRU@CJ;> M^0!I2;6GCG9A9-5,^C-ID&*:QQP/:J"L KZ?2VG6"QN@._I-OP%02P,$% M @ LH"G6$>(TER+!0 \!0 !D !X;"]W;W)K&UL[5AM;]LV$/XKA-<5":!:LB3+2IH82-(6*] 419)NGVGI;!.51)6DG&:_ M?G>4++_)6MJMP#[LBRV>> _OCG6J4\/?"FX@RP@(S?C:8 [: M)4EQ^WF-_L[ZCK[,N(8;F?TA4K.\',0#EL*<5YFYDX^_0>//F/ 2F6G[RQ[K MN>-HP))*&YDWRFA!+HKZGW]KXK"E$'M'%/Q&P;=VUPM9*]]PPZ<72CXR1;,1 MC1ZLJU8;C1,%;'/7A!ZVE@ M\8)G>=KE8*T?=NM3=9SKDB=P.<#TUZ!6,)B^_&44>:][K M;Z\(^].D=)+)( M1":X358Y9Z42*"AYAEF7\2(!$F)9:<.+5!0+S+UN-_H7>E@"F\L,BY$P#&TW M%E>].&AF\/7!RKI>6ATLSXRT]\3%NT81] M (TIE51*D>,EP==EE%'9&XJJ76H?(8PZHQ%.;#AJXX] O,#E@\AWPK-X5S8) M',^/>TAAW)+"N+=6[_$(3JO,5KX".F*I\#;E6?(GVF>;]\?8H'^%+C;06*LH M5&9I:[MW89S630PM3[<$FS3%ML .< M8TUL1+94NLAT4QNO_L'S]_'OOL>O?IKD^82^/R,@ZNR@GKA;''3+?]#JY@SY ML;/BYT6S7J_.IG1WD$1TBR.*QU\/84Q=;-AU;=N?WMFNPD17VN M] X#GSZ?@ILJTX!'+1[?ILWN.:?NU3QA0*,C)7'L_PY6,EN12RW("3]%H/W: MNJ]FF>QV$Z-AF' D-&:XS_%#SY3*5J5^NI-L7CNQ-UA; K;9PWK MW=>-9_4Y39+^H&$N' 0 WU1)DUY\Q47&9W4 ZLB0^# ZP[5%/24U:4MJ\NPF MZ(@!FP1ZUQC055O]RW1V0K::L4_5MLEYMOO_T2^=CCK;L.!^K6TD=6MMV[O9 M4T?6[-MQ$N'!-O$ZO@G6+ZX. ]E18=OLOMNEMY*>](K;](J?G5YK"IV+ HM$ MX!F4R!7@L]%="=4/_&.;NK>)M_R;R*NNK:W;J%RD$M M[%V;QA!6A:DOI%II>YUW5=]B;:;7=X$8A85 \LE@CJK><()?,:J^7ZL'1I;V M3FLFC9&Y?5P"QT2B"?A^+K&=:0:T0'O).?T+4$L#!!0 ( +* IU@2(3$0 M8 ( ,X% 9 >&PO=V]R:W-H965T@31<2:*AF 7SX621.+P'/'#8F8,U<96LE7ITP==\%E!G M" 1DUBDP_&WA&H1P0FCC5Z<9]$6[+67 9D!P* MU@A[KW9?H*MGY/0R)8S_DEV+C1&<-<:JJB.C@XK+]L^>NGLX(%S25PA11XB\ M[_8@[_(3LRR=:K4CVJ%1S2U\J9Z-YKATC[*R&GAQ5,<-LPZQ46K&+VB&).EDK8TY+/,(?^3'Z*[WF*TM[B( M3@HNF1Z0>'A!(AHE)_3BON38Z\7_5O*Q2ENAY+B0ZY>)J5D&LP ;PH#>0I"> MGPW'].J$S:2WF9Q23U?8?WDC@*B"%,[RUEO&2'"VYH);#D=-GY8]/[N,:'Q% M_M=_;IPE?*.L[!_I5?#!U?^]=:N5,>2::?W,Y:8#Q8-Q-'I+5B"YTN2;LF!Z MPAL2CY.+CPD]R"247E!*23(8GN ER>-!C%>B-GR2&9*J1 MMFVW/ML/JWG;HR_P=M+A96VX-$1 @50Z^# *B&ZG1QM85?N.72N+_>^7)0Y< MT Z ^X7"BKK '="/\/0W4$L#!!0 ( +* IUB?G&PO=V]R:W-H965T#PICZ[55*5H5W;?Q:$G,/.?$0@[@=#Y MW1IR7GYDABWG2NY 66[29C\<5"=-SI7"7LK**#HM2T%VTA= MW+$U1SV<7)8_Z 0K5R(#I3/QS#=*KDI#5RL MAP>B%/V@P04;_O>ANA':,,[;>C\0WT*2SKQD$O4IT\3S4[]'">*IE\1)GS*9 M>K,T@56-64D]LHOI4X&+:>S1U_#,@>^%87+F(/"]9!J<.4B]-"'ZG:0H M]B/AA0E%,$@>T\AP&,U.4RR,"-DIX)#,AG$*OZ&@!.&0255+RA0$O*?'6*/G MBO B.W7L1U<"XD^?03X+9\->XM8N<3U@FDJ=_#%4/C]K/@PF7NR?1B9(4V\2 M!?#9%*@>H_YIQ)1-070.\=0+@NF0$HJR"6&-U/*0.IC;&7:/IQGUVO4MM8FI MEZ9QCQ+,*'^#V)8[7'%NN[WMKO*A)S RSV7&;*!K5=+,5/)]VU(1OHY6(]> MC00&U&JT"Y2Q'>0#$RQG(]=C#@^>?'*/%AAOT*F6GA&*@F]HFH#/?&1V.7#W\2\D<01\1"4FOF>U; MFS*C,.Q/(-I+.0*CE(!-([+V@@Z^/Q@KFHK965635(;:@PUU(Y&1=7M5'+>, M>YT3+F =:.\0&-TR2I?V"KF[^TQJ,CV"<[/%N#?Y5:BV;KZU'C7"M$/@D7H< MH:_:R?&!O9V_Z2G&PO M=V]R:W-H965T/*6LB*:AS*C:>V$FANC:K2"WU_Y%64<6<^ MM7.W MAY*S"KAB@A,)ZYES'5PM$K/?;OB;P4[UWHGQ9"7$@QE\RF>.;PA!"9DV"!0? MC_ !RM( (8UO+:;3'6D,^^][](_6=_1E115\$.57ENMBYJ0.R6%-ZU+?B=V? MT/IC"6:B5/:7[-J]OD.R6FE1M<;(H&*\>=*G]A[.,0A;@]#R;@ZR+&^HIO.I M%#LBS6Y$,R_656N-Y!@W05EJB:L,[?3\+XS[)YZ)"L@M2+(LJ 3R]IZN2E#O MII[&(\Q&+VOA%@U<^ Q<1#X+K@M%_N YY(?V'E+K^(5[?HOP).!G*B])%+@D M],/X!%[4^1M9O.@7_#WF9H,2'T]/<(P[ MCO$I]/D2*R^O2R!B;3*.983RG.2LK#7DA#7LM\A>/ )ABTK;-Q^W&SBV!]$Q(2D=>HMXT07HE;HL'K7;7M-@B1THS3HST2) MFX[]%Y/^:NL5J=)'D"@_A-?5"N\4[QRI5"@8]G850253&ODPOB$7;3Q^!$-' M1W'@QDE\;"E)?'>4I"^F>F,BC]I%8+U&,>M3U")[(/"M9H^T!*[5U2^#WRVO M%6J.+HA)8Y;!A1&Y'$] EXUPJH$)>II&X3"R(5Y"U -$E7\ _7,\O)Y)D@SQ M8C<=!3T\3'G[%>+GD QB-PXG0]")ZT)AO-*1Z\>C_SOC M]G5_)+'2.'+38$@4E\9!Y(;1T/]SGPN;Y_Q[:1J]Z=/LE6)\F88'PRAX\;DW MK;?GGCR>' S#](3^)IW^)J?UMVE03&#:B,!35M9&U]925*A00#):9G5);6>! M^YX39[*"C-8*C V3^P+>B;K,28%Y@.N K0G7[")OJ_R8GI_F^_OUW.KX==^+ MWZM0P5"'@\ -1B]1IXNA#KB3*'JI+@WA+GZB1D,+5-HP]#\P!W?^8^;]02P,$ M% @ LH"G6(0#EW9[!@ 6A@ !D !X;"]W;W)K&ULQ1EK4]LX\*]HTEX'9ES'EA]Q*&0F4+CKA]XQ0-O/BJTD&FPK)\D$ M;N['WTI^Q'DYT(/IE\B2=E?[WI5RNN3B7LXI5>@Q2W-YUILKM3CI]V4\IQF1 M-E_0'':F7&1$P53,^G(A*$D,4I;VL>.$_8RPO#=9S>_7"#9O-E5[HCTX79$9OJ?JVN!8PZS=4$I;17#*>(T&G9[VQ M>W+N.AK!0'QG="E;WTB+,N'\7D^^)&<]1W-$4QHK38+ \$ O:)IJ2L#'WQ71 M7G.F1FQ_U]2OC/ @S(1(>L'3'RQ1\[->U$,)G9(B53=\^0>M! HTO9BGTORB M907K]%!<2,6S"ADXR%A>CN2Q4L1S$'"%@ W?Y4&&R\]$D=&IX$LD-#10TQ]& M5(,-S+%<6^56"=AE@*=&MW,BZ,=SD"M!%SP#8TMBU'5T1R8IE<>G?07':.!^ M7)$\+TGB/20]])7G:B[199[09!V_#^PU/.*:QW/<2? K$3;R7 MA!_L=]+Q& M9L_0\UXH\RY12TK^;DHZ9$[D@L3TK M&W_;!-;^UYYXZ/:066KH]RBP7#QHS3W+]0+T966J;90C;#G.\+B]X@?''9X5 M-)X5_'_/,@F3J:==OM--OM-G2%T!C*'!(PXR +0$^ !HR1@K*XU%-XREC;/N M+1:H-*8+A<";RE-JOWQ]/WKM\>9V+)O)K>+Q/?IK82)B"_3/(IN @*!-XXT2 M_3"E")0S?H PFE'TNR"Y0E ?*+HB3*#O)"THN@8D@_$*%+80+A^IB!EX\[5@ M<1MR/)L).M.$ON1*,"CO<47MG*0D!]C/-*:&G\JJ7B.I.PSLH!4-&'NV/UQM MX\A>B[#0#MO@P\@.HO9^8/DAMJ-2.F"^WO*Q';;@?'=H!^&:WEW\J05P>&43 M]X+GH"@XLU\K:G7ZD1_9N!WTV'-L9R7F46!'[>V!8^.VF.Y@8 =>>\'R@L#V M$+0Q4\K*0Q=,M(_$&R<.0MOS7U7BVKKK ;NR7318LQT.07F4>!ME[L1#\D4$[3-,G%, )3Y0(:7<4 MI; I2N&SBU*1MSJ'@[V/Z7M,J>& 6;%.ED0D3;7HA^V['LXQW+KCW0T)^AU86+48*>&$V3+2CH )P=R-W+EY6S M)!N> MWW/555.C-A2!2:F18O:0L$EQ;'L\-HB[[N$!P[W#8;;$#9PQB^ 9^NLWH88F ML^U\6^KF:M?54E=7^7(>]=U3 RD TL2>Q_-;/TB\]7AM-(-NM*9*_=Q4NJG+ M\TH/[9"K7;8)N9K@[JMADXE6R0D'JV_7:6_HR16=B$*_"KB!M9[H(:=8PZA] M(?O8^A[X@P[(P!H.\(HVWKQ10J=L.8&_A[9K.:[? 1M9+G3AF]37,2)_'^>N M!>U)!^S0"H=X5RCW6\^]&14S\Z@MP4>+7)4OO\UJ\W ^+I^+5^#EJSNTA3.X M@Z.43@'5L0=!#XGR(;N<*+XPC\<3KA3/S.>&PO=V]R:W-H965TION@&P)"GE@N]]AICNNL@T%4# M+=57L@.!)SNI6FI05/M =PIH[9Q:'L1AF <";A31/=M M2]7S#7!Y6'N1=U)\8OO&6$6P675T#_=@_NSN%$K!B%*S%H1F4A %N[6WC:YO M4FOO##XS..BS/;&9E%)^L<*[>NV%EA!PJ(Q%H+@\PBUP;H&0QM]'3&\,:1W/ M]R?TWUWNF$M)-=Q*_A>K3;/V%AZI84=[;C[)PQ]PS">S>)7DVOV2PV";YAZI M>FUD>W1&!BT3PTJ?CG4X<]HR3@S##3Y^8&6'/0OJ\!@!&L75$>TFP$M M_@Y:0CY(81I-?A,UU-_Z!\ALI!>?Z-W$%P$_4'5%DL@G<1BG%_"2,=W$X27_ M/=VKN30'E'0>Q3;*M>YH!6L/.T&#>@1O\_I5E(=O+G!,1X[I)?3-/39>W7,@ M?M6,MT_>0@5M">JD22?0'K"B3Z2C MSZZN_XR5YGZ6I1-ULEBBM^X5%16<9S.UC/QH64S4\=)?QJ%-!7TL_T[AV%;F MV;*9@8DR?[G(I^K"#\,8"[T#I;"N"AY!]-,TT+V(9MP7?I)GY-9-+;PG!24U M<]%C/RJF26#T),ZQ$ :PJ"69EH5/\EF\#!,LB0?\8M6 MTXHE?ER$4W7JYV%&'J2A?.[#/[OU.(S\%*OUHHD6A1]'Q=P(",XF-)9F[]XA MC8W6"S,,ZU$[/G7;8<*_F _O)';%GN$'R6&'KN%5D7E$#6_/(!C9N7E?2H/W MX+8-/M>@K &>[Z0T)\$&&/\ ;+X"4$L#!!0 ( +* IUB;)N-DJP( +T& M 9 >&PO=V]R:W-H965T)!%(8G M0469\-*9TRU5.I.-X4S 4A'=5!55/Q? Y6;N#;RMXIJM2V,503JKZ1INP'RM MEPJEH$?)605",RF(@F+NG0VFB\2>=P>^,=CHG3VQF:RDO+/"YWSNA980<,B, M1:"XW,,Y<&Z!D,:/#M/K0UK'W?T6_:/+'7-940WGDG]GN2GGWM@C.12TX>9: M;CY!E\_0XF62:_S&I>J\D1P3]E)NC$(K0S^37ID2%#F75<4,UMIH0D6. MLC!,K$%D##1Y=TM7'/3[66 PHO4+L@Y]T:)'KZ#'Y!*12DT^B!SRI_X!,NWI M1ENZB^@@X"55QR0>^"0*H^0 7MRG'SN\^-_3WY=U"YKL![5]--4US6#N8:-H M4/?@I4=O!B?AZ0'*24\Y.82>WK3M0V1!L,FT0<+(E:RDR/=R/8QV6P(I),?> MM"#&7G37H.P77KULU),H-2@W"$0&/N$LL]TIUCYA0C>JU=H"2E=61\G:B"EE MH]&@I^3HS3@*X]/_MIYI6XGG6GPG6=D_E%Y] 1E4*Z3666)R];R$?\]P^5B3 M%J*WO"6#9.#'X_")9NA/QA'Y\B?%>Q$K&OF3T62?.AD,R:TTE+_D<#+QX^%D M5S.*_7@RVFKV/>V)?Y?0-D#:"^D-%O!!NC_6.EO4$L#!!0 M ( +* IUA1N/V7#@( )<$ 9 >&PO=V]R:W-H965TY)-;\$.Q+.[X] MMI.&(G65>)/X[+O?_<^Y2WXP]LEU $B>E=2NH!UBOV;,51TH[A:F!^U/&F,5 M1V_:EKG> J]CD)(L39)KIKC0M,SCWM:6N1E0"@U;2]R@%+>_-R#-H:!+>MQX M$&V'88.5><];> 3\WF^MM]A,J84"[831Q$)3T)OE>K,*_M'AAX"#.UF34,G. MF*=@?*T+F@1!(*'"0.#^M8=;D#* O(Q?$Y/.*4/@Z?I(_QQK][7LN(-;(W^* M&KN"?J"DAH8/$A_,X0M,]5P%7F6DBT]R&'VSE))J<&C4%.P5**''-W^>[N$D M('TI()T"TJA[3!15WG'D96[-@=C@[6EA$4N-T5ZY@Q]DN#*J@FX&8'I"\",W!N-G2.?= WUO_',BYL5 MID>%F_0B\)[;!XV5QY%KG9_U1^KMX1LSJ/"4.S=CVO MH*!] -D]T/+UJ^5U\O&"R-4LY_7CF,P&FCZV'H[@[Z1X[+S?PZPP<&?-\;@T0@)YG]1^0=02P,$% @ MLH"G6+V&UL MM5Q=^8SBXW\5+=J>K3YF.AMZ8'E$6R5EF9 MY)E7J(>KR9O@]8V,Z@9-Q-^)>BI;G[TZE?L\_UQOO%]<3?QZ1"I5\ZJ&B/6_ M1W6CTK1&TN/X=P\Z.?19-VQ__H;^:Y.\3N8^+M5-GOZ3+*K5U22<> OU$&_3 MZC9_^EWM$^(UWCQ/R^:O][2+E63BS;=EE:_WC?4(UDFV^Q]_V1^(5@.-8V] M]@U(MP$;:$#W#6B3Z&YD35IOXRJ>71;YDU?4T1JM_M %6L;-CI=O514G:?F3_NK3W5OO MY8N?O!=>DGE_K?)M&6>+\G):Z<'4D-/YON/K7<=DH&/J?>33XV2,^89;QW!S?G#J&0P\'EC9X]/@#:SM(.Q!F M!ZE_PZ_+33Q75Q/](RU5\:@FLQ]_"(3_BRU#)# C7W;(E[G09W_H4TX9I\I* MA5U3T32M3RR/LX#(4 ;R)?;!.K+%3@@1FI"T.:0L,"@K,?)' C'SE(5_Y_13<->5M:OE2A('? MH: MC@<\$G8*AH>QA_NV;5+Q,.B=_2QA@C)&[,P+6I?XP,V];56IPCXR9\NQ M4X"%9N9)($^"P;H]"E;.2&AFSJ R N=%_1G>T3ZA_$BR+N^L89P/\ X40>"6 M!&_2U,NKE2JL8W.V'3T+2&AFIJ O H["/%1I@85FY@SB(G!>RY]AGNA1*B1A M(+K,LX1%A TQ#X1 X%8"MZI,%BJKDCBUCL[9>O0\(*&9N8*P"$(4[J&*"RPT M,V>0%X'S:OX,]Z(^J2@+&>V2SQ(7A()&=O81T +$K05N\O5:%7--OD;PO<\6 M>AU?#'#1C35V7K#0S,Q!:9 @XL$575@H9DY@^H@SBN\FXO[MFV.,4;#WB78 M&B=X-,1%T ?$K0_^W*A"KWRSI7>GEFM]2O3^TX0LJSC=+8BM@T8M2F"AF0< M1 AA*)1$E2-8:&;.($>(N][AIB3O44U&FI'=TZ,M3D@_\@[BB)NO87]UPJC@W<*-+<[W M-64'^ IB@[C%QA%\/:JZX^YF])2=H]Y!0>-0'Z6\C:INL-#,G$'=4'<=Q4G3 M?=OG:CR6,$>-AX(*H6X5<@Q)A\M ;O#1TW2.D@AM&2\XS@NN]7(.E4-!Y= 3 MW)=]VS;GB(Q$CYJ6L)#( >^%@AJA;C5R!#6=E2(W_.B).D?5A(+XH2B>#$65 M-%AH9LX@:>@)O@SM&RXB\OVH2\Y^F&3"IP/D!.E!W=+C"'(^4TQR=S!ZJLY1 M6*&@=2B*<4-1I0P6FNE;@Y1A)U@WS.+)2+V$[U8R;7&,RR&",A =S"TZCB#H MJ'J3N[NQ4X>%9AX<4#T,Q?%AJ/(&"\W,&>0-.\'Q87TK)R",^KT;+6QQ 0T' M%DNL=1>(6XC8Z'JW434YJZ_U?46:F/?;P8E"K<)@H9F' G0/0S&%&*J\P4(S M'Z'!EUBZ&V.!Y2.6 +,1 BS"U$CB?GZ!J4N^?1LWB.>@P# M4<10+"6&JGRPT,R<0?FP$RPEUK>*6.0+T56IECCND] ?6-YST"CQ MT'=W,_KFMG/48SA((X[B-G%4Q8.%9N8,BH>?X#9QBXODTY[K;@FC43A4@^*@ M3/AXKVF0I,XEO[NCT5-VCMH,!TG$41PHCJI]L-#,G%LWW)[@0/&^LQ2PL+?D MMX5Q28,!FH)&X>/]IT&:/K/X=WM+.4:?A((\XBO7$4:4.%IJ9,T@=?H+U MQ/N6$@D$C;JK*5N<7G61@7N&.8@2/MYZ&J3JJ#* N^/1DWB."HX =210S"B! M*GZPT,R<0?R($\PHT7>9*(GZQ+7%4>:S@=M.!,@4X98I[])DG63-ZLD^0-2* M#!::F2SH'H%B. E448.%9N8,HD:<8#B)OI-T(7A(NI:]-C3UZGL[R!%#K$2"<9X!P'P(ZAXX1H&/$"7Z3Z!M)%USRGOJTQ@61 M'"CH"U D>Q[01>!WZI9[E.PAH4#4E&"DI!N)=$AXC,+;C?8Z&DY1Y5$@DR1* Z1 M1!4D6&AFSB!(Y D.D>P[/Q><1U'O(5U;7$"'[DV6K2>(W=*A0\912VHW].AI M.D==1()*D2@6D$25*%AH9LX@4>0)%M"^;?O=!!=12'O,M(2%(>VN:*:M-W9H MABV;%YF4WCS?9M7NE1>'O8>7I;QI7A'2V7\=O+[9O?($8'9O8/D0%\M$LSA5 M#QK2?U7_[HO=2TUV&U6^:=X+&ULM5=1;]LV$/XKA%8,+=!%HF3+=F8;<)P.&["B0;)LS[1\ MMHE*I$92=O;O=Z0464H4-2G4%YND[C[>=T<>[^8GJ;[J X A#UDJ],([&)-? M^KY.#I Q?2%S$/AE)U7&#$[5WM>Y K9U2EGJAT$0^QGCPEO.W=J-6LYE85(N MX$8176094_]=02I/"X]ZCPNW?'\P=L%?SG.VASLP]_F-PIE?HVQY!D)S*8B" MW<);TD^KV!P_HO_FR".9#=.PEND_?&L."V_JD2WL6)&:6WGZ'2I"SL!$IMK] MDE,I&T<>20IM9%8IHP49%^4_>Z@&"_'60A69BJ^>^01LLDI]4^UV5^X4O[!>1 MSU*8@R:?Q!:V;7T?;:\)A(\$KL)>P,],79"(?B1A$(XZ[%GWJU]#4JM'/>9$ MM3\CAQ>]@+=&=@K/)OF3LPU/T:'0Z:429=2-8N_NI.X?FRPZ MI*91/*ZE6N:-:_/&O?&X%XG,\A0,6G@#RN4]D0#YLDGYGMGCWAF>\9#A&0BL MQ3^N^<>]X5EELA &@V-3.A=[@O>[:/@D;_A$]OLD?A:?:!:.@N!)&'OM^4ZV MDYKMI)?MIX<D97CFR.Z(1D)ZQ\I' ^=O(-R_ESQBBL0\200\&$*G)'.) MK>L ] )]ITNFM4NFO69B8@=^9)L4]$B"T-NES641[JXY7E6T5Q+?JMBZQCL+-;S0I&:B]Z]TT26Q]4O8K]6K='ZY< M5^2?Q:I+!#U>!B@A:HLE\K)T;FKN792(,-E!L>L,<%907P^TY* M\SBQ&]1=\_)_4$L#!!0 ( +* IUB N#:'" 4 # ? 9 >&PO=V]R M:W-H965T5[@IIAF MSG)>7+OCRSG;RX1FY(X#L4]3S)^O2,(."PR*^[ M.Z[.W%HEIBG)!&49X.1AX5S"BQ"-\X#BCK\H.8BC8Y"7LF;L6WYR$R\<+V\1 M24@D3J5ZKBY/*:L?A DP3@+ 9_RBWAX":3.-O0=4($^ #J&]Z&1&*:B'?@#: 9 M^+)E>Z&"Q-R5JAVYFAM5.:_*G.A$SA&X99G<"O!K%I-8CW=5^^LBT$L15\@H M>(OY1S""[P'RD ^^WH?@[9MW@$J2]C1N9=8*251KH1>M'IGP^V5&_3):J:.Z MOT:%[NB$[FJK^D9UC.H!U5D@PIP_TVP#<,KVF03L 6RJ#NOKEU+;[]?.IY@+ ML<,163AJ#A&$/Q)G^?-/,/!^Z>-H4RRT)*8Q]6NFODE]^<<^7:MQK]AQLF-< MYCSW&94"_'=J$%V5BN-",9];'Y=H[CX>XS'F'(K'DIB&9USC&1OQW*0[3+F: MZ\\.+Z/.T.%5B@5'A#V=<&@IG08EJ*$$1BC7G E13X[O 99@338TR_+!HS#M M"*M\6/,/W3\6!+34$UJ5!,CJLLXIOD:W[M23#K/$81P M,FFQ,"88RL*2F,9B6K.8&EE\>@)?.,Y$@@O7=QQ- N5+8 N2.?%02K;4=$Q'OA::%W7U MG^G:L%95X=K0\<9H!-OSL#G/8"JP._U[/AH'TSJM7C!J"D;F93H3$B?EQ-); ML#%\Z.IL52VTI::C:SPU?$U3#:VZ:JMJH2TU'6QCK*'96?^X2X)=@PUG'E0M M:S^>5GVV+36=5^.TH=EJ&ZU2%7N,Q)_!MATP9QC,XS4\-FQ,-ASLLL]:@DJR M-7(";](A9=5AVU+3234>&YXQV8-=0==YGW %5LVW+34=4V._H=E_GW4%7<\- MH>][XW&;BE7;;4M-I](8;VAVWO<[$E&]/F@B;1GIE52VTI::_ M@FQ\.?)>T40@F]Y[954MM*6F@VVR$=MBV]NP&!TIWYQA,(_7,/>H,??(Z'&'O7*IM,Z]]KTL-CM;UZ_@Q:K2+9KMBP7#,I65H<;@F."<]O4+\_,"9?3O($]2;Y M\G]02P,$% @ LH"G6(4[D&;] @ P@D !D !X;"]W;W)K&ULK591;YLP$/XK%JNF3FI+ @&2+$%*PM;UH5K5KMNS Y=@ MU=B9;9)NOWXV$$93@AJI+V ?]WUWWYVP;[+CXDFF H]9Y3)J94JM1G;MHQ3 MR+"\XAM@^LN*BPPKO15K6VX$X*0 9=1V>CW?SC!A5C@I;'B[2D&@&Z8P6Y,E M!8DN*QNI;0A+"4JB\P@4)E1^TCZ/#Q$Z/_N$SK0?^I'R7&HV.;&53M"$L>,J MF7F9C',D&1?=%L+J]4Y>W5SIY/P%HLKY/8OD--S!BWY+-X. M=UO@43<\@O@8_(4:M^Z56_"Y1_B.M**MSB71H)W('"5CN<$Q3"U]5D@06[#" MCQ_Z?N]S6Y'>DRQZ)[(7!1S4!1QTL8?7@DN)(E@11A1<4GWB)&^K9\GK%[SF M)-V&0]=QG6!B;YN5Z@Q_:J5:8CI!,'+KF"]JX-4U\#IK,(OC/,LI5EKZ+.-" MD;_8G,!MJDLFKY'!I>.YHY%S(+LSXJFRVX*Z?N!Z[;K]6K??J;O]Y[E #%2; M=/]5%EXP=!M)E,H[8YZJW'_5<&_4[WG#=N%!+3SH;GBCR0B>];P@H4UQ\"IZ M/_"'_H'@%B]_.#KPBCHS.O4GMQNW6P9B74P)$L4\9ZJ\"FIK/8C,BOOWP#[O MCQ?E//&?IIQN]$&_)DPB"BM-V;L*=.-%.3&4&\4WQ1VZY$K?R,4RU4,6"..@ MOZ\X5_N-"5"/;>$_4$L#!!0 ( +. IU@3N3M;'P0 $L4 9 >&PO M=V]R:W-H965TDXW:_?J2DZF')M#UK^1#K<>_A.=2]O)><[AC_*M:$ M2/ ]2ZF866LI-[>V+>(UR; 8L0VAZLV2\0Q+=Y4Y;:R'$".\,) MM:)I_NR>1U.VE6E"R3T'8IMEF/]X1U*VFUG0^OG@(5FMI7Y@1],-7I%'(I\W M]US=V17*(LD(%0FC@)/ES/H#WMXAI!URBR\)V8G&-=!27AC[JF\^+&:6HQF1 ME,120V#U\TKN2)IJ),7C6PEJ56-JQ^;U3_3WN7@EY@4+#%+1?X?[ K;(+1 O!629:6S8I EM/C%W\N):#A [X # M*AW0J0YNZ>#F0@MFN:PYECB:@C MHZN;)\(S,"^!0Z0"+$%M.8@)@)V1N0!:#?D'4#W=!'>ZJ\COH;Z'EA;=;BZU=\?2/?)R9Q MFC-]"ZA:F=D2;,^7X'B<7+KF3 M(:4.!-:2"IVZPCK&C_N!JM C0@*.)0%76 ,-H3'*H^N>XMG 3=N!)DS()AFW*C*8 7UHD2H)D)GJ/_]CD>M6M3K(LV-!;*R!O!4U+&C')N( V% MUM9<5V_H7I@V<*"Z7,K]/ZH\K,L\--?YLQ/'Z\L'#W83Y[AAFW)=Z:&YU)^0 M.'XG(?S>Q#EJUZ98UW%H+N1Y_'QDF(+W6/?Y\D=9LM'*OP[0=ACYRJS0T%8UW]HK+G1G]^V MR2;3G>3AE7O0%F HM/8.L^X!D'/I'M/81)R]R1P(K2VW[A_0I?U#"=#:IG3W M!*C;/:"#>P+4V/";>X=A-F3E(*W- .JLXV8JYWX)NW'2HX_9/F&^2J@ *5DJ M>&<4J@GEQ6%2LBR_7!.\(%P;J/=+IO*OO-'G2=7Y8?0O4$L# M!!0 ( +. IU@B-D^E 00 .$6 9 >&PO=V]R:W-H965T_/!LJ7 F;EH#\T0/P>[SG^V,]>7"C[SH^$"/ S"F.^-(Y"G*Y,DV^/ M),)\0D\DEM_L*8NPD+?L8/(3(WB7@*+01);EF1$.8L-?),_NF+^@9Q$&,;EC M@)^C"+/':Q+2R]* QM.#+\'A*-0#TU^<\(&LB?AZNF/RSLQ9=D%$8A[0&#"R M7QI_P*L;Y"I TN*?@%QXZ1HH*QM*OZN;OW9+PU**2$BV0E%@^?% ;D@8*B:I MXT=&:N3O5,#R]1/[I\2\-+/!G-S0\-]@)XY+8V: '=GCWQ,6@179"/ >K.5 MV9U# NA>=H=\)+OJS +Q"-ZNB,!!R-_)5E_7*_#VU3OP"@0QN#_2,\?QCB], M(24I8G.;O?XZ?3UJ>?TM9A-@P]\!LI#3 +_1PU=DF\/M*MR4'9'W!LI[ R5\ M=@M?V7S2'[=/YC>/X!O!C%\U>4Q)G69258A7_(2W9&G(2N.$/1##?_,;]*P/ M38X'(JOXMW/_MH[=;_D5KE.4EZ#4Q/#@V\Y\9BW,A[)R+7=/Y4ZNW.E2[C8I M3U%N2;DSF[K/E6NY>RIW<^5NEW*O2;E;5VXW2->2]Y3NY=(]K?3[(Y%+QUX0 MUF3 JQF86^KOF0'M*WH:F.8&IGH#5."P2?NTIATZ"#FU(:^E[RE^EHN?:<7; M$P^YK\&:Q %EX&\J2.,$K"5YZ>0T$%G%[SSW.Q]CUU>A9NZJR8O&'VK75=R;P5PI*S_+2 M$3446]5SL>!#>XRB@@.M]5D?C)$<8!$=H#X[=)15/4*XC<-RC! !BQ0!]3&B MO:SJ0:)9?V>[JK(B),".E*!V%Y\ICL$GO U".;8:90Z4 S(S8Z0*6,0*.!VE MJ@:*$UD?C!%.8)%.H#Z>M.TE,EAYG-EV/=?JV?NJ+[(&U"[EK?N)#-:UH="S M]U2/BJ" ]$&A;4^!&B)"TZ9"3]]7?A$14,^(@.H1P45RT:[I;VAGRV8MHB =HE'B !HT'0[%5^Z"(!ZCS:*%Q M(D/U8 "171N*8\0"5,0"U#,69#BO0WV]%;+L^;,R,DOGC^KP]Q:S0Q!S$)*] MA%F3J61AZ7EJ>B/H*3F2W% A:)1<'@G>$:8:R._W5%97=J-..?-3;?\_4$L# M!!0 ( +. IUC!?H* LP8 +4X 9 >&PO=V]R:W-H965TIAWY]X&4WRT?2J_NRSF%[Q M4J9)SCX+5)191L7W6Y;R[?4H&#U_\)@L5[+ZP)M>K>F2/3'Y=?U9J'=>1XF3 MC.5%PG,DV.)Z=!.\)U%4!=1'_)&P;;'S&E5#F7'^5_7F0WP]\JL>L93-986@ MZL^&W;$TK4BJ'W^WT%'79A6X^_J9?E\/7@UF1@MVQ],_DUBNKD<7(Q2S!2U3 M^_^Y,4 MZMM$QX$BQ.);I:",?5C2_2:,$F3 MM'BCCOSZ1-#K5V_0*Y3DZ,N*EP7-X^+*DZI;%=R;MUVX;;J #W0A1 \\EZL" M_9+'+#;C/36<;DSX>4RWV E\H.(,A<%;A'T<6?ISYPXG;-Z%AY9PX@[_K4S/ M$)[8PHW1A-TO%-:\Z #OD6UXNDGR);JG\R1-Y'>;Q$Y&=?)X7ZSIG%V/U-FA M8&+#1M,??P@F_L\V?2!A! AF:!=UVD4U/7S1[+;I%D'J!@DC0#!#MW&GV]@Y MYVXV*LGI[.!L:Z(G=71U9=E,QW[U[\K;[.KQLL.(LR__<()(P P0SESCOES@?FUCFD;I P @0S=+OH=+MPSK@/N62**I&@DMED M:\(O=[+&/_,G4;B77,Y6^@H"!#,$N>P$N70*\J1JV;A,6:SJ&ED*=9R[T#[I5!3!Z5-JA6RX4 M4!4-A?KXGL5,T!3=EZH^J[^W%FG.YOJF*RB-0-%,J7=JY&#@J:X%0(D'22-0 M-%,\K,7#SGFJ)F52H,:56J7#MO.=/]X[W;E;Z:T)$,W41)?T@;NF?WGN/GVZ M?[2J!EKP@]((%,T45]?\P="B/P"M^D%I!(IFBJ<+_\!=^3\\7X*5^Y8$^P/S M%H/:#5 :@:*9XFF[@9T5^='5MS9\=UUM8EM^#(TR4']"2B-0-%,\;0_P[([UE.X4SP=J98+@'@>*9@JN/0Z^ M')KDH&8&E$:@:.;^"VUF0O>=EF,KV&VX>9E6*;R7P>Y6>F^K.(5'";5'"=T> MY849;%L"%X:)Z#VAE0 M&H&BF>)I.Q.Z[\- Y/G$5I'C_8KLIW"R(3:R(1N(W,TS[]L[5J!WGX! MI1$HFBFI-CGAQ= T!C4LH#0"13/%TX8E=-^4.;8&[@[O+1VH76EIQK[7L;$^ M;VYFUD8DZKWEZV6[P]WK@C4D8#2"!3-%$\[DLA] M4^98EK;A1S>*NYOI+KF$VSXQTQ ZN8H/X#BF:*N?, A]M_&&(6E:^HCD I MIWG14[[H/W,Q'%O4 W424+1&/6_G.:^,B67]O%R!YKS,9?/(5_=I]TS>3?TD MFJZAKXT+-R84*]<_.U;02S3-RS1O)U_538S,N)<_JERM&E=[5 >K[ M!>?R^4W50/>DXO1?4$L#!!0 ( +. IUA'%2![*P, %P, 9 >&PO M=V]R:W-H965TS@="04KJNY$-BFWN.S[&O\">Y>DH43OI7C*X']\!3M(251 -T M"QN6; A=HTL3\!KS(7+M+\BQG%&+ MGD4W? E!#7<[Y+CU8KL%G_M/B]VV/B5^U([71_I,9#B N:'.K "^ S^RSQILUMR> 6'?N%L_+&E/S-SLV_DS;"&Q'$M<=PI M\0J$.$-"JEQ=/:$$I 0N$(M0P"$DK=M3$H[WA P\=S(YU/MF6$.O5^OU.O6> M;]0AQ*ORT.7JA'#U'MVMJGXSK*%Z4JN>=*J^)I2D>=JF MJQ/XWF3OB:SA<5I[G'[P7$_[M-H36XV9>_5;"GQ=E+4" M!2RGLBSEZM&Z=#XO"D;S.;RLNU7%LR94J.LL4E!K.%&W$"]+V;(C6594@RLF M56U9-&-5_@/7 >IYQ)C<=?0$]1\*_R]02P,$% @ LX"G6./W6AUO!@ M"2\ !D !X;"]W;W)K&ULM9IK;]LV%(;_"N%U M0PNDED3)EW2.@<;IL ++&C3M]IFQ:9NH)*HDG0NP'[\C61$MF6$KBDSB5%X,MDIE[SQ/+K0E@ZF,^*[V[$?,9W*F8IO1%([I*$B*=+&O.'BT$P>/[B M,]ML5?Z%-Y]E9$-OJ?J:W0@X\RJ5%4MH*AE/D:#KB\'[X-TBFN8!Q17_,/H@ M#XY1;N6.\V_YR[J@<9PK03V^EZ*#JLP\\/#X6?V/ MPCR8N2.2+GC\+UNI[<5@.D KNB:[6'WF#W_2TM HUUOR6!;_T4-YK3] RYU4 M/"F#H08)2_>?Y+%LB(, T#$'X#( -P.B%P+",B LC.YK5MBZ(HK,9X(_()%? M#6KY0=$V132X86G>C;=*P*\,XM3\+YYNWGZA(D%7]$ZAM^B6IHP+]#=75"*2 MKM"'[SN60<>I\KO75U01%LLW6 M92TN][7 +]0B1-<\55N)/J0KNJK'>^"HLH6?;5UBJ^ U$4,4!F<(^S@RU&=A M#[^BRRH\M%0GK%HY+/3"GVIE4_OLXR-S?#Z6W\F,+.G% :KI.*>#N:__1*, M_=]-YAR)U:Q&E=7(ICY_G_ =Y K<,:2"9&#IQF1WKS$N-/([S?T\B/SI!$]G MWOVA$]-U^1UJ4EU7J^2HJN3(6LE&3IMJ:!5HVR&.Q&I>QY77<<_<&[NTZDBL M9G5269TXR+W)<4Y!2C42SUI01QO3RL;4:J.X$ROH,5/M[:$C]$2),"7TPAK8 MT=%YY>B\S7A#_Z%KEK)D9W1HE6J;CH[$:JX#7T^N?L^Q5PHX7PI>>U:K?O3D5K=N::6H"^V!$ZYQ95:W:XFE\".+JW3-S*E;Q0UT]=::E=7 M&G4".^N$PS$>_5KC>J,9I\#C2JWN62-/T)=Y J?0XTJM;E=C3V#GGM:)NY>; MUA,WA#QIINXI,"C0'!38:>9&L'3),A(C4I+=&A[17^C0Z1'617[^U[1T"@X* M- @%=A(RC$:84!9;DFYH_A"]@.=@P6-T"YU'!.-&JTX)R95:_3E=(Q+NBTC8 M*2*Y4JO;U8B$[8CTF:YHDA4K6)E@2XH.!RN!'( 4SY[3WM@:Y7J.?_C\,O2# M1IK;J]'5IF8F;&>F:!C\S*1C5VG=M:>@):QI"?>E)>R4EERIU>UJ6L)N::F4 M:TPZ47 TZ=C+[>I+\Q*V\U*;2:>4.IQT1J9)QUYD5TL:A["5/TRC$2:=3RF" M,[*&;D2?EHK?P6J(?4J[IR IK$D*VTFJ M_[0S/1J],.M@?QPV4_T4?(4U7V$[7[5.]8G1K5/"DJU'-6&%KQK*G^M3HUBF"N5*K-\G!:[;> M[]G,)KLPKX+7:%3:G.E5K>KJ2VT+W3U3_B)X>FYF>NG M0+50HUIH1S5SKL-3"9PI_E.D;B^A=9^?@NA"373A>=\4=TIKKM3JNR[%=;6DJB^Q4UBZK35MV M+NTEM.UF5VKU]M#P%N&>61TY!3-7:G6[&LPB*PGUOW&7^@U2,:P>V2O2U>C! M[J=V2';VDLGGU24! 31I;GHK34?'LY4_;+Y?M->HJV/-9I&=S8K=*BR52NSR ME^1G:,G3%)7Q.QR0=S3-<0Z@\G,![%?M_U_D3QK-BZ?,>5XDEQN 4NHB*_ M 'Y?0+7[??X_4$L#!!0 ( +. IUAV'YOF) , ,8* 9 M>&PO=V]R:W-H965T6LGY\G4\2PCX! ;"T'Q MM883X-PB(8^?%:A3GVD-F^,M^J?">71F3C6<2/Z#)2:=.F.')+"@*VYNY.8S M5 X-+%XLN2Z>9%/M]1P2K[21666,##(FRC>]JP+1,$"<=H.@,@@*WN5!!(P2.(?7(IA4DU.1,)) _M76174PRV%(^#3L!+ MJGJD[W\@@1>$'7C]VN5^@==_!*]P-)9K$%08W>9@:1^VV]LZ.=0YC6'J8"%H M4&MPHG=O_*'WL8-=6+,+N]#1VSN6K3)RA15Y 6M06!ODAF(*MS$ML?Q275N! MZZC?&TS<=0N#0DF1]M1W>"/#/*OK?[IWHOS((* MX#\3;/ST_\N#;_[UOAG0<,V04/_#T'=1FN1@5H6#93&6*R$ M*;N,>K5NTH[*UF2WO>SP\!Y?,J$)AP6:>KT1WA>J;)K*B9%YT:C,I<&VIQBF MV&B"LAOP^T)B>E03>T#=ND:_ 5!+ P04 " "S@*=8;FI[%S@# 8#@ M&0 'AL+W=O_QG3U< M+/&&*^&CG8>7UQ3^<+95ZXX3 EDCOA.ZY%49.D&4H9\+GDG"IG+H*NW5V+I1Z6%<>/"W>+@EHH7: M^#/R/3] #Y,K='IR]C^,JTE7S/V*N9_CMM]FKJ/[@[,O]Q!E0E V1V,B:2/5 M C)HAC0[X%RF)(*1HR4N02S!"3]]P%WOJX5PNR+T-WV> \J)P'5N?M5M?O?$038)0+O5H*&M?'"K+G M^G0JBIW#![1S!,+=BG#7NJ8W3(%&54@0!>B42$10"B+2&^BLB6N!UE\+K=?R MVCHNS:'M531Z!]!5;T-7@6=^S;[[E>_^KK)"?]&;D=1COL,28H31S(Q=YF.3 M.@$US<#*9,]0#ZIY#@ZOS<$1"&.O3NS>0=59PKU;GGBMQ& KD^LJQ(U^\88R MV]U@$&Q1)J[K [9F\S!HX?>D/#O*OF&JBP)N'UY9V%II]N5^HT[I\8&NR?RL%#C:+<]#9U*>[=LXW=R9]M)Y3)E$, M,VWHM7I:YZ*XAA0=Q=/\Z/_$E;Y(Y,V%OKJ!, /T]QG7DBT[YC9170;#?U!+ M P04 " "S@*=8#S5$0$T% !#(@ &0 'AL+W=OHWNN=*\/MD=;RG[P%2$"/.=9P<>#E1#KJ^&0 MSU8DQ_R2KDDAOUE0EF,AAVPYY&M&\+QRRK,A61TA_EX'8^'CAE1"0C,U%"8/GQ1*8D MRTHD&<<_#>B@G;-TW#U^1?^U(B_)/&).IC3[.YV+U7@0#<"<+/ F$U_I]G?2 M$/)+O!G->/4?;&M;WQ^ V88+FC?.,H(\+>I/_-PD8LFWH>=& >%]S10JPX^%+,R;SO/Y0QMX&CU\!OD!'P#K-+X,(+@!SD:>*9 M'N_N:MP3LWM"9H?<>VS<=AG<"L]]8QG2;AET.:Y!/#U(V2*N^!K/R'@@>P G M[(D,)C__! /G%UV";((EEL!ZR?/:Y'DF],D?LCURG!'MMJQ=@\JU;()/$XC" M*(3A:/BTFPV=7> C-^K;)<90SB3JMT1](]$_UX3)O5$LP9K112H YA>R^:XI M$VI-U>1K.'^'%(*>[RB[B^S$\2QK_#>-X.1ZT+%+#%&=B;OJ.4=&7E_HP)GX)IS(K1,HST*O@L= MST<*5>,LI_:V:*\U^#! D=_51X]KW'*-CZSFIOOK"!LA3NWX-L$22V"]U$&G MDRV.C0MF@V(I?U;1$EMH_0SN"#]H]V+2X/7:#'+]4&TS.COH(#]6^HPYOG/Y MHXX_.JW\P+]2!7/9?[+#V\D(>?)VLHF6V$+KI[,3L-"*@H56):Q5M,066C^# MG8J%_T/&-KZ[117&4>BIVD9G%X1.[*C%]QXZ%G9"%EI6LE"C4?T@]%49K[/S M@B@.5?[O(69AIV;A&W)6TWP>UF26XDR\@"3E@J6/FX-%9$F:-BFSB9;80NLG MMM/-,+32ABR)W":#-M$26VC]#'8*')HEN+D-:02XYX>QIY:AQLZ/7%4K).98 MSN7:*7!XK 0_M@W%^^U5-J%8I:\Q<^6?ROX]-#3J-#0R*LS)ERS-TZ*J$>UB MF]U/+1*K:(DMM'[J.O&,H(TV@RQ)W":#-M$26VC]#';R&YGEM['--+Z]6S2! M'R%%Q4RU=@Y"ZM7>',NY7#MMC(S*<7);",)F-%_CX@6\6756%;)5M,066C^/ MG4)&GI6JLZ1MFPS:1$MLH?4SV.EN9-;=YJK;U\[ZJM/9Z:KN/30VZC0V.E9C M'WEQ1[H;PTX80)6_QBZ.0_5VN3F\<^EW2AB9;R%/*9-4L2!:JE;UKU6TQ!9: M/V^=_D61E29C\Q;SU"I:8@NMG\%.52.SJOZ-%++R,C![W8%O/K=I (->13F! M^N->9P:="*G/Z,SQG M3>OW&3J8^O6*.\R6:<%!1A82TKD,96]A]1L+]4#0=?4,_Y$*0?/J<$7PG+#2 M0'Z_H%2\#LH)VO=&)O\!4$L#!!0 ( +. IU@[H@DK?P( %,& 9 M>&PO=V]R:W-H965TLFEII#01(MG8) M4I-V6A\J1?W8GEVX!%1C,]OYV+_?M2$LS6C4A[T$;-]S[CDV/IELI'K1!:*! M;<6%GGJ%,?6E[^NTP(KI@:Q1T$HN5<4,#=72U[5"ECE0Q?TP",9^Q4KA)1,W MMU#)1*X,+P4N%.A553'U>X9<;J;>T-M-W)?+PM@)/YG4;(D/:)[JA:*1W[%D M985"EU* PGSJ70TOYR-;[PI^E+C1>^]@G3Q+^6('M]G4"ZP@Y)@:R\#HL<8Y MF<:YY#_+S!13[XL'&>9LQ B(WP!$+2!R1AME MSM8U,RR9*+D!9:N)S;ZXO7%HXH/1M%J23B3W(I45@B/;(L:3J_1L)+K M,SB'IX=K.#TY@Q,H!3P674*-:HU>\O'#&8T[H_$Q]N0FS]'=.3!L"XH9 MA%.F@4&-*D5ASOK<-Y07CM(&RCH)!N&8CFV];ZNW:G315;W2.^KTCH[JI1,! MW%+:::2XX:0W R-!%TSAN;WY&=#)V75F Z5/?=-@O*>+PO'B0/R_1?'H0+F_ M=S\K5$L76YK:KX1I/OQNMDO&*Q<(!_,S2LPFX/[2-'%+G_6R%!HXYD09##Z3 M+-5$6#,PLG8I\"P-98I[+2CU4=D"6L^E-+N!;=#]CR1_ %!+ P04 " "S M@*=8XF5N,1H$ "!$0 &0 'AL+W=O/,]XQAYGM!/R6:THU>AW57(U]E9:KV]]7^4K6A%U(]:4PY.% MD!71<"N7OEI+2@KK5)5^& 2I7Q'&O]EX$'MEQI,^!/1FNRI'.J']?W$N[\%J5@%>6*"8XD78R]S_AVAC/C8"U^ M,+I3!]?(2'D2XMGYJ&"+LBFU ]B]P]M!"4&+Q>ELK]HU]@&'LHW2HNJ M<08&%>/U/_G=!.+ 7#<#F'C$'8=XC,.4>,06:$U,ROKCF@R&4FQ0])8 YJY ML+&QWJ"&<3.-8N?-URF M-9?P#)<(?1-T./;W058,B_!&%01@[^,Q>[Q[U MT(G:6$<6+^Z)-;.Q=L6F]DVMKRF^[00G893AD;\]I.PPBY)L$+1F1]3BEEK< M2^VG37=:(+*E$LH7\4WU!/D@%@CX5I %S6S#2J T3"_C2T@'*""6N\34;TL. M6$8XC7&& M;4E)N5:W+@%)7[C,VGJKUB2G8P\63T7EEGJ3/__ :?"7*\VN!'84B+0-1-H[ MLW,K5ZQ-*3MK,CV9@6&"XZPS3Z=661K$J7N2!BVWP5MD76'FMKM U&(&CG3* M8JBBKAZ7X0!'831T2\I:25FOI*FI",3;2D=KT',HQL6ZAAPORR@\4]4XV&]707\Z0WFPG'XR6WZ'&9AF,;1F7S=;_FX?\^''N*9ZM>E:R_2Q3-T);1CW?M^ M L=OFZZ]_&ULM5=;;]HP&/TK5B9-F[0V-ZX=1 *Z M:7WHALHNSV[R02R2.+4-M-)^_&PGA*0+6>G""\2.OY-S3@[&WVA'V9J' (] MQE'"QT8H1'IEFMP/(<;\DJ:0R#M+RF(LY)"M3)XRP($NBB/3L:R>&6.2&-Y( MS\V9-Z(;$9$$Y@SQ31QC]C2%B.[&AFWL)^[(*A1JPO1&*5[! L2/=,[DR"Q0 M A)#P@E-$(/EV)C85S/;505ZQ4\".UZZ1DK*/:5K-;@)QH:E&$$$OE 06'YM M8091I) DCX<J0K+UWOTSUJ\%'././'W(A2@<2I+W#R N=Y0>=(@9L7 M:.?,C)F6=8T%]D:,[A!3JR6:NM#>Z&JIAB3J-2X$DW>)K!/>5YF4F\2G,: Y M,+0(,0-T@2:)(!E&H*2TM1I!+S%[!*Y]@?D M6$ZGAL_LY>5N QVW<-C5>.X1O)=96>=;AMNIQU6_[RN>8A_&AOP!];%.=$M@%0LZA06=)G3O.Q4X0OC51F3H78VN]J6M9\L7NRW+^WM)QW'[ MO6)5A7>WX-UMY'T'7##B"PC00O.<[# +./J-%M(AXL.%VD$"J24)B-J5:MDW M/N/4U]@26,6.7F%'[TQ)[K5I04M@%0OZA07]LR:Y_^\DURRQ[9Y;G^1!P7OP MRB3+[6X-XD5!;GS$J6^Q);"*&\/"C>&9@CQLTX*6P"H6V-;AC]\Z:Y2;X4_U M(D'U!+ P04 " "S@*=8-=KXIA # M #0"P &0 'AL+W=OV6'/ D0$E MU/8Q%X44D:Y%.\-*3Z:L%3& GU.(X@.\;:R57KS M]MY&7B/A!/,.\MU+Y#E>MT;/^/UPOT&.7VZU;_C\$[>Z;J=RIFX]DS[:MV*- M%S"TU-D5P#=@A1\_N#WG4YW-EL@.3'=+T]TF]L+TW)A>5.L+\NJJ,Y\S]@RC MOH8V8>!Z_8&]J9IZ/FKTO3 MUXVO]EN6S($CMMS?I'BCKEP\I[45F'.Y7J6XW,[Q 6E<\#_MW)1V;MY7J>@O MFN =2;*DSD%V[S@J8;L2C9*@*],9!3J6Y2E,H\2Y6@92^],&#L:'^FX M:C+7"TV>=5506)%4( I+1>ET^LH=S^-CWI%L;1+8G$F5YTPS5I$;N)Z@GB\9 MD_N.7J ,\>$_4$L#!!0 ( +. IUB@+?Y2M X BP 9 >&PO=V]R M:W-H965TF1;P.W33S*21;)T/ MW>VDVW,^.Z 03P%G;9,T._OCUS8.LK 0=GKG2TN(=,F&.X^EY];+Q5.:_9)N22;N/HVNK(\\L*L*=8D_$O&4 MMUZ3ZE9NT_1']Q;58KRM2>1W_::"C0YM5Q?;K M%WI8WWQY,[=Q+J[3]9_)LKC_-)J-R%+H@NV= MJ. U%;R^%?RF@G]U(.K:Y5>8;"OM?BNR\K=)6:^X_'8?9^+#Y_+;7Y+K=%/^2>1Q+:H/Y*J2 M55(\DW=4%'&RSG\KW_S^C9)W?_WM8E*4C5>(R:)IB.T;LD\TY) OZ;:XSPG; M+L52K3\I+_IPY?;+E7^VCU2WO+JZK?LT MS-6_Q-F8.* M*MWE[\D_=YM;D9'TCM3BS#47^'D/=/7 *MY_S!_BA?@T*@-Z+K)',;K\^U\L M?_H/G5"0,(J$,20L1,(B)(R#8(KXW(/X7!/]\CK=/HJL$,L)^RFR15(%PG?) MEN2U]G2![K,1.%1\2!A%PM@>YM6PJ@OT>/G!"[S@8O+85I6FE#V;N5.U6(2\ M,@Z"*7KQ#GKQ>@2K]"58Q,@F")!_R!!WQBR_JP[Y&6V)5Z+$2V M(>7HACR*O"J=MY6K4ZBQU:$*1<(H$L;,'ZY'GD6( MO*@(">,@F"+.X"#.P!@?OV\SL4A7V^2_E>3JT<5M/;I8M$<7XF?U6NA4&"!5 MB(11)(PA82$2%B%A' 13I#@[2'%F_%/^=UJ487#7%J1.A&7X7,=5@"S2LG 3 M+..G.%MJHZ2QS:'Z1,(H$L;V,+_5KW,LU_.FTZ.>78AL-4+". BF:&]^T-[< MJ+V;4D99LJBDM.\Q7IT4E!$T5%!(&$7"&!(6(F$1$L9!,$5TUE1F\Z;&I^\) MV?5+JC1LD!*A- JE,2@MA-(B*(VC:*H>6]EERQ@&/\?K>+L0)"[(K5@EVWJ0 M4HKP061)>C;18H8/%B221J$TUM#::11K7CUMCQZVT%8C*(VC:*K4;"DUVRBU M*(NWQ?GDG9DR6%-(&H726$-K:\JU_:ZDD(U&4!I'T51)25_",F:>7Y,;-A,' MRPMJ34!IK*$IF5]W9G?U!?4=H#2.HJGZDM:#9?8>PC2[$\E>7P])UD-=4.L! M2J-0&K-TOH)&7,A&(RB-HVBJN*1/81EST.VNE]@N!W2ZH$8%E$:A--;0E$[7 M+ BZ(H/:$% :1]%4D4DGPO)?-]X\>!17C4=1=\\(C0M!PCC)R!_Q>B?(UW), M6@](M4J$&A)0&H72&)060FD1E,91-%6OTIRPC GG/N/19;I>5P90^=8^3.JC M)-2F@-(HE,8:6M"*DK;MC-WY<92$FA!0&D?15-5)'\(R&Q'MH6E/>4%=!BB- M0FFLH5E6>YAJS<>>?ZPOJ-$ I7$43=67]!HLL]EP:IS:4VM0 P)*HU ::VB* MUFQG.IYV8AG47X#2.(JF3KJ5#H-MS!B?&+/V4YH9/51I4!J%TEA#4Y46^&/' M/5(:M-D(2N,HFJHTZ1W8O;V#[@"VI^"@!@*41J$TUM"47IKOC6<=O4$-!"B- MHVBJWJ2!8-MO.W/)AEH+4!J%TAB4%D)I$93&4315D]*!L,T.Q,VWJ_P]492I MK-)AS12F\N7WEZE+IV>:F!L;+%"H.0&EL8;68_H2M-T(2N,HFBH^:4_89GNB MD\.[.74SL_>3BG%CVR>G%T.N*H#2. MHJG"E-:&;5Z#<97GN\U^'CO9Y?N9FV7L2S95=KFX%^2NRC _5AGFO.HW5F_M M)W22U3X5\U&K4JCS :51*(U!:2&4%D%I'$53E2K]$=N\FN"+B*L%01NQ+0ZC MEWI]@7ZX C4\H#0*I;$S'YO]L@AC^A(HYZ?C) P5#499SBD61WU>JO"DT6&; MC8Z;)/]![C(A2%+&N[*%@F15='P7YR2NI+@H):D7(=39@-(HE,8:VKS529R. MIZYSG'D^4$[%>]E$$U(R MTBB4QAI:-6E6?H7':CA?)NI1AJ.N7%6!] QLLV? FO[2LM59JOI*FSC[(8HF M\U$-/ZO\6]UK*D-=%4#Z)]^@O@*41J$TUM#:R3=OZHS]V;%TNN7L8#KVW6/Y M:,K-9V/[6$%OX00XT@EPS$[ B;D?Y'_50+#>56>[D"FT[7Z=M'XW!Z@O *51 M*(U!:2&4%D%I'$53Q2G- \?J.S%IO^XY;B8F]5^P[T#- RB-0FD,2@NAM A* MXRB:JDII,3@]UBCLGZ/RJ:O5GMW)7[HSU^^D+Z]U!:>>VRE(-07+9TJ7R,RW M,%@,T-P^E,91-%4,K5V/SN3V7_7\K'X=/Z>[@MS$VY7X,/V;5C_8#9*P.R1A MMTC"[I&$W20)NTO26[@!CG0#'/?-GZA0&P!*HU :@])"*"V"TCB*IJI26@&. M>95#$PNS*A;V2&4T--/ _+I'&=JC##-?^6 -0)/L4!I'T50-R"2[8\[+8AZD MMJ=_DD)S\E :A=(8E!9":1&4QE$T5:\R-^^8MTA"/$FA27HHC4)I#$H+H;0( M2N,HFJI*:0LX9EM@Z)-4E^(>V][QP[17,=JO&#/?PF Q0%<40&D<15/%(-T! MY]SV1?LML9K9COH8-.]D%"S;LC4Y"DW!J:7+470+!FZ@25% ]Q*"TB(HC:-H MZM:X,L7OOD6*_[AG94WU20ISXT,?8E :A=(8E!9":1&4QE$T5; R[>^^>=K? MA:;]H30*I3$H+832(BB-HVBJ*F7:WS6G_0=VK1J:TAFRCIZI/MCOOK!.H"FT:$T MCJ*I.F@=-V!,B**25:>Z5- ,.Y1&H30&I8506@2E<11-%:S,L+OFR?:(+A5T M8CV41J$T!J6%4%H$I7$4356ES/F[YIS_T"Z5W^T*V<=(G,?/6# M=0#-7$-I'$53=2 SUZXYU'0^?10&H72&)060FD1E,91-/4H,YG? M]\SY_>O=9E<^0Y-'\;(Z,;TC\>(^$8_UFD6=#,W(H3*$TBB4QLY\>,Y^.:!. M@. !]D);(+=>[(5117Q[O9[ MFIT\N1&ZKP^41J$TYFE6$U19Y&#!8D]*1E[5++F_ %[UCU_ -IJ!*5Q%$V5 MFK0!/+,-\(H3>LS$P?J"3NB'TEA#4T]PGW7E!748H#2.HJGRD@Z#U_NX@$%G MJ)BQ@S4&G9X/I;&&IL8P>]X5&=2^@-(XBJ:*3-H7WFQ(IPUQ<6B$^A-0 M&D?1%-'YTI_PS_@3OW2PA1D^5&E0&H72F*\Y;B#HKI\*H:U&4!I'T52I2:_" M?_/3!LPM#-8;U+F TEA#4_3F>./I\89GT%8C*(VC:*K>I'OAFT\;.-?K>PEX MY&N6+,YT]WRH00&E42B-06DAE!9!:1Q%4^4I70S?[&+ NGOF=@9K$^IR0&FL MH2E!<3X;>YV@"/4OH#2.HJFJD_Z%;\Q,_VI_#VIE0&D42F,-39&:%01CSSG6 M&M2E@-(XBJ9J3;H4_B^I40&D<15/E M)IT*WWQ2\KZ_E[[T]_I/^_2A?@641J$T!J6%4%H$I7$43=6BM#5\LZUQM5IE M8E4EE)-MD27;/%F.)[G=*4$M1R@-(ZBJ7*3 MEH-_YHB"OA);Y?2_V: MVQDL.JCG *6QH'O"L6X("FTT@M(XBJ:*3EH.@7G!A!+QY!C@]T._[8]3_38S M>+#*H 8#E,8"S0H(_1@ VFX$I7$4;2^T27XO1%$^"^/+BXW(5N):K-6'(GWX-"K_?&[3HD@W]&PO=V]R:W-H965T M>/EB;)7?B!$H/&>)ZFF/U[3Q)Z6FFF]M'P'.\/HFC0U\LCWI,7(KX?GY@\TQM*%*'W_0@_+FYJG>-/39(P+'"?\BV[Z_ M>.CSIR_H$XHS]->!YAQG$5_J0O:CH.EAG=.KC#@_(]@:9[M5P;T1V^WIV?WRX/1 > MJ,,]$EX+[SQ+NWDA[))G3WDA!KIU7V&<84PQ(=[Q(P[)2I,S'B?LC6CK7W\Q M9\8?0P)!PCQ(F \)"X!@'6&=1EA'15]_#7_D,8]%51(2+$B$0LK%H+A*U%1Q M(6%>!9N5L*)LOJU=PUCJ;^>:]:\QYY<7!4"]ZFCA-EJXRD'V,;O2'=K6XXUP M666E0HQ$=T.*N)"*0,(\2)@/"0N 8!V)9XW$,^5P^Y/2Z!0G"2+O1[F*DH-- M4+0E6I7!7*.AK2E""!W]$Q9T@7,,EPY9FXO!A9DTF HJ6.YLT63M*/ ;:/ MK5*!>X:WVX0,": ,G"H ),R#A/F0L (UI'2--IOBP;,MX.: Z0M*,T#I?F@ MM "*UM7WS TPE8/U*6?A 7."CBP.!\>L&C!96+._G':$X?E!9 T;J" M6:U@UKAE)B,AW6?Q?Y>&2JV:DC)9-:NGFFWT58/,Z8/2 BA:5[768S&5W_37 MCY2QF*/[!(>O@W*!FBN@- ^4YH/2 BA:5];683$=H.H(ZJ^ TCQ0F@]*"Z!H M77U;U\94.@9CJJ/;GQEGES/C1IUFLF"@!@PH+8"B=05K/1ASI GSD^HX8%#T MZME&G6NR:I T'Y060-&ZJK5>C*ET!-9/FX=!E4"]%U":!TKS06D!%*VK9FO MF N@H@CJQX#2/%":#TH+H&A=?5M[QU3[.R.*XFW?);;M_OP*ZN" TGQ06@!% MZ_Y8WIHXEM)$&%L5:\KY6F;65TV=:ZIJH#0?E!9 T;JJM=:,I;9F7IX?T#>: M1'&V'YP^U>%3IT]0F@=*\T%I 12M*VMKX%@63'FT0"T<4)H'2O-!:0$4K:MO M:_58:JOGY^51#9@L+*C9 TKS:]KY0L!Q>R4E@$K:5:QU<2SU1IFQY1'4PP&E M>: TW^KOIQGZ_1XJ:26;?K:G,25L7^X^Y2BD>2:JG8%-:[/#]6NYK_.BW3/O M_&J?:HNIMLT^8K:/,XX2LI-(XV8N7TQ6[42M3@0]ECLGMU0(FI:'!X(CPHH+ MY.<[2L7'29&@V0^\_A]02P,$% @ LX"G6)WE"$AV @ E 4 !D !X M;"]W;W)K&UL?51M3]LP$/XKIPQ-(&VD35\VL392 M6T!#&A(" =I'-[DT%HX=?$X+_WYGIPV=5/HEML_W//?3C;$O5"(Z>*N4 MIFE4.E=?Q#%E)5:"SDV-FF\*8ROA^&A7,=4611Y E8J37F\<5T+J*)T$VYU- M)Z9Q2FJ\LT!-50G[/D=E-M.H'^T,]W)5.F^(TTDM5OB [K&^LWR*.Y9<5JA) M&@T6BVDTZU_,1]X_.#Q)W-#>'GPF2V->_.$FGT8]+P@59LXS"%[6N$"E/!'+ M>-UR1EU(#]S?[]BO0^Z])(AS++71I+<^2Z"3+3\DU1+4,J:X 2DAENIE+=,8L=J?P2>\5^0D/P\NE"GXE7%I+.:<^ZZ ((C0':Q 2SP\3.S[\8)JD>$TXH8C MM&N,TJ]?^N/>KR.RAYWLX3'V3G8.UT):>!*JP4,:6Y9Q8/$MOD['DWA](/"H M"SPZ&O@Y= K'G:W1*]3 M^,6NPCP@R$RC7=LTG;4;.;.VTS[&PO=V]R:W-H965T)C[S_<'8"3]? MU&P/MV"^UC<*1_X09/X_2'Z/ZUX%+-A&E92_,^WYK#T M9A[9PHXUPGR6IP_0"TILO$(*W?Z24V>;)!XI&FUDV3LC0H=XA:H1U9*VO-#,L72IZ(LM88S;ZT_TWKC6IX99?QUBC\RM'/ MY.^*0C6P)9\XVW#!#0=-7JW!,"[T:_*6?+U=DU"8X&P=&EZ/DM M$TRARC?DA-6)#UQ&LI%5HW$+E277MBZ=Z]K%3=NX]E XYDE$XV3A'\?:IE9I M%F=TL'H$'0_0\47HCQ6R 3'L#G=ES>[91H +L8N2C)+':9+$9XA3JV@V=P,F M V#R#*!N%*L*(.+71G(1)M/-F EUW$6\,.E,)25'"$JG&N;S9-G&0T/<-S6,VB M-''CS0:\V7-U@WO/%DNML'%X;K8?X34$L#!!0 ( +. IUCDX?YC< ( %,& 9 M >&PO=V]R:W-H965TZZ=+.I&4O' 2^)KWW-\SHU]DQVD>M0E M@"%/%1=Z[I7&U->^KXL2*JHO90T"5[925=1@J':^KA70C0-5W(^"8.)7E DO MS]S<2N69; QG E:*Z*:JJ/I] UP>YE[H/4_/[-_N/+*!+6VXN96'S]#Y M<0(+R;5[DD.;.\4=BT8;675@C"LFVC=]ZNIP! B3$4#4 :)_!<0=('9&6V7. MUI(:FF=*'HBRVHQ3+Z1;?O3;MO M-++O-ZHN21Q>D"B(D@'XXC1\"44/CU_"?:Q 7X:H+T/D^.*Q,C1&&W2"ILF- M'''44B3#%/:Z7>N:%C#W\#YI4'OP\K=OPDGP8:VI9@X"ML+]GF8A/%5D/G[8Q]#:>GL*NK37BA,>H7)285?66$[A=A= MX#G3C;)2+]S1E.[ CJIN:=,C.=%T-IV]$CV4E83IL.:TUYR>U'PO#>7CRM*_ M"S69Q>EK:0-ITSB>35]I\X^NO&VW>)]V6"G"88O X'**/*IM86U@9.VZP%H: M["EN6&+7!V43<'TKI7D.;&/I_R/Y'U!+ P04 " "S@*=8,P'G/MT" !\ M"P &0 'AL+W=O@'61H+"M'Y JN@8G]WTM+%P[& [;=FOG^V$K&5IM(Y\27Q[7_NQ3YPS MW'#Q+!, A;8I97+D)$IE5ZXKXP12+#L\ Z9[EERD6.FJ6+DR$X 75I12-_"\ MOIMBPIQH:-NF(AKR7%'"8"J0S-,4B]<;H'PS&!K!)E&MQHF.$5S$ ] M9E.A:V[ELB I,$DX0P*6(^?:OQK[GA'8$3\);.1.&1F4.>?/IC)9C!S/K @H MQ,I88/U:PQ@H-4YZ'2^EJ5/-:82[Y3?W;Q9>P\RQA#&G3V2ADI%SX: %+'%. MU0/??(<2J&?\8DZE?:)-,7:@9XQSJ7A:BG4]):QXXVVY$3L"/SP@"$I!\%[0 M/2 (2T%H08N56:Q;K' T%'R#A!FMW4S![HU5:QK"S#'.E-"]1.M4-,OG$EYR M8 K=K?53HM-;4)A0>8:^H/>]NNEQ=HM.3\[0"2(,W1-*]6'(H:OT6HRC&Y?S MWA3S!@?FO<>OR O/4> %W1KUN%E]G8D."H(ZN:LWH-J%H-J%P/IU#^W"=%*' MT"@R']B5S' ,(T=_01+$&ISH\R>_[WVM(VK);(\OK/A"ZQ[^ZRG7T89MTK9D MMD?;K6B[C:?Y X3^4K"])I8 =:R-!L>R%F9]:V:NS744A$-W74/0JPAZC003 M)G-: #R9"QU-6-RIXVBT.9:C);,]XGY%W/]XA/;;I&W);(]V4-$.&L_W;IOI MWQ@L4):+.-%_(90)$M=&:F'DA[O1U>L$57P5,(W3_2?,105ST0AC[F T2[ M] 5T%3PE\@" M=J+6'O(YPKE*N""_=$CCE.=,U68$WE\7I>]YWKM0;E[#L8SN3FID\M)[+%:$ M241AJ>V]SD!?>J)(]8J*XIG-EN9T%20( *,% 9 >&PO=V]R:W-H965TT_WZV$S):!31-^T)\YWN>N^?P7=QP\20+ (6>2\IDXA1*53/7E5D!)98C M7@'3-ULN2JRT*7:NK 3@W()*Z@:>-W%+3)B3QM:W$FG,:T4)@Y5 LBY++%[F M0'F3.+YS<#R07:&,PTWC"N]@#>JQ6@EMN3U+3DI@DG"&!&P3Y\:?+2(3;P-^ M$&CDT1D9)1O.GXQQER>.9PH""IDR#%A_]K 2@V1+N-7Q^GT*0WP^'Q@_V*U M:RT;+&'!Z4^2JR)QI@[*88MKJAYXQX[*"LEHJ7'5A7 M4!+6?O%SUX$7M)=H!<*^")8!6A*942YK >@C>EPOT>7%%;I A*'O M!:\E9KF,7:5S&P8WZ_+,VSS!B3PANN=,%1)]9CGDK_&NKKDO/#@4/@_.$MYC M,4*A_P$%7A -U+/X>WAXIIRP[V-H^<)_Z>-0NUJZ:)C.S.Y,5CB#Q-'#*4'L MP4G?O_,GWJG6-/O^E5<\?M/SG]#5!+ P04 " "S@*=8)MHO#D0" "*!@ &0 'AL+W=O M*L95XI5: MUTO?5UD)%59WH@9NWN1"5EB;J2Q\54O Q"55S ^#8.Y7F'(OC=W:5J:Q:#2C M'+82J::JL'Q= Q-MXDV\X\*.%J6V"WX:U[B 1] _ZJTT,W^@$%H!5U1P)"%/ MO-5DN5[8>!?PDT*K3L;(5K(7XME.-B3Q BL$##)M"=@\#G /C%F0T?C=,[UA M2YMX.C[2O[K:32U[K.!>L%^4Z#+Q/GB(0(X;IG>B_09]/3/+RP13[A>U76ST MT4-9H[2H^F1C4%'>/?%+?PXG"89S/B'L$T+GW6WD+#]CC=-8BA9)&VUH=N!* M==E&CG+[ISQJ:=Y2DZ?3C3E> A(]24PH+]!*2LP+,,>N5>QKLX.-\[.>MNYH MX05:A!X$UZ5"7S@!\F^^;\P&O?"HMPY'@0]8WJ%HH/TKVG!"#Y0TF)VKNH-.ST/MO5FJ&F>0>.9B*) '\-+W[R;SX-.(\G10 MGH[1TUW# $V"_>QVY^56G]@32W")\P6V<^9;;8G!;7'UPXW[CW(M^_DE_J$ 6K@LJE(F&ZZY5 M#*M#HUUU_>5O>->ES84L*%>(06Y2@[N%^3MEU_FZB1:UZS9[H4WO_Q.??8OB%NAZ59"W:[8,P$JUS(AP-V^IB/2C2](X.0F*F4CW' M3RO@C(1>T.>]%3MM>QB][Z?OL%'RP$-NF2@M\>;< MRH@0^YUG+>.!5:R$P[H0QL-,R;8>(N("-C/-6?! Q8A,J.!3S8&5T9R+M0OW M(#!30NG V$*T5KH0*1\=W'4]J-%:)^=2Z2JWR^!^3^OA>\"F!P:Y$(W!'G&! M\;"@QC MKVVG&EP%GT!!W;Y;%];A7--UMW=)6D)ULTFF2J=,-VFZ9!,:#P7+ MP([F\P72:2JV3=O:/^95?K'CJ/]:EJMOE7W#7H_U6_G835Z^!9/Q M6S#Y)FIR@JT*G]4VQ'WXY/64:7PMPUX(BT[>\LY-VY.U#87ERE;L712=_5\6C4#V[!9ZPL(^\AU=?D1C.,P/P(8 ME@=S@'$<"\OS/\UG@,['89BW@1<9H)P!RG$L'S*I/E@>/R>QEW^F21)%<8RM MZ&3B=3#!UBV.X<>OAGD#!I8',OW=6N.[C5?(X3K ]O10A6 SQ2L1FRF^UH#X MUPT82>+?;2P/,+!=P&H'\OOS0$WY.5$$NXIYPYY@'$D2#(%:]-=H'".K$\/' MOS_84Q)%2>)' /,[B"(,@:<11S 'X %#HJAZ#^Z]C\+->RIL_S\Y_@-02P,$ M% @ LX"G6)>*NQS $P( L !?3T\$MP>:4#M.*2V MBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU1>5*(Y5;&GC3Y?YV MX$G1H2)8%II%R=.B':5_'0I)C/ER[)S/%[Z]2/5K*>4O\EIRH?NMC3';VTY'YQLHJ?Y3 M;D'8.RNI2FKLJ5IW]%8!+?0&P)2\$W6[-YV2,M'Z_NU0UUQU_!-I(#=,"GO1 M77AF\*+_N^].R8YIMF2LKABZ?J 7IMVZZML(54]K4)>KZJ67<@2V\ M/ZN,O&/<@!I1 S^5K+9,K%TU]BDZWF/4<3@<]T&\5?\GC'*U8CF,9%Z5(,P^ MC@JX Q1ZP[:Z100MH=\Z%"%4%&0LC T2F8A]5;:L>U+[TY-B_]3&XGHQ5+?, MWE"3H@8/!SF<3;/9PV0T6(Q'Y,?@83 =CDEV/QXO,@\P0@"CJP&23W/J0<8( M9/R!D-G"'A['4PLXNR.S^?C)@TP0R.1JD,/9X]R#3!'(]'J0@^S>@[Q!(&^N M!WD_F'J0GQ'(SU>$_#OR(+\@D%_"0OZ@FFDB5V2N0-NBIYGQ*X+V-2S:(,]E M9;.V6).YY"QGH/V4W<5R=C+ UFG&W'<%&U,?$[-. M'-@ZJ!R/^R9FGSBP?7#,V,?$[!,'ML^)P]MUZXO<)J;3.4V,"2@.+* SS,Q6 M6E0:.#8%*1J336F?[N18)9*/G0]3 _9=8:\C$Q"R7762 [B].*-AF_;GWU))AZDFO-?FQ$<^/G]!133QI8/8V+DRZU5V5)U9N/ MB:DG#:R>2YCO0S@?$U-/&G[)[7PNV9".4DP\:6#QX)-)?R2<8N))0XOG=%VU M.9+H]GY@[>D! 2(@ &@ 'AL M+U]R96QS+W=O )/[F/!00D5# MB]B %28/D<269Q#)[HE"$8Y%08/F5-;8\O5??;+&GK^D75NVW2%OMGV>'/>[ M0UXTFU+ZAQ#RAT.@O#SQG-X_SG MS,GKJ4]_F=BM5MME>NJ6'_MT*+\,#I_=\)XW*95F\MH.ZU0633CNKJ=SN!SD MYCRYF3R_+9KA^4V:4#M((4CK!QD$6?T@AR"O'Q0A*-8/FD'0K'[0+03=U@^Z M@Z"[^D'W$'1?/TBF*..4(&F$-8'6@EP+@=>"8 N!V()D"X'9@F@+@=J"; N! MVX)P"X'<@G0+@=V"> N!WHIZ*X'>BGHK@=XZ>MDFT%M1;R706U%O)=!;46\E MT%M1;R706U%O)=!;46\ET%M1;R70VU!O(]#;4&\CT-M0;R/0VT:;)01Z&^IM M!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$>AOJ;01Z.^KM!'H[ZNT$>COJ[01Z.^KM M!'K[:+.;0&]'O9U ;T>]G4!O1[V=0&]'O9U ;T>]G4#OB'I' KTCZAT)](ZH M=R30.Z+>D4#OB'I' KWCZ&,E@=X1]8X$>D?4._ZGWKF<=BE?>[[7^/S_I+J< M[TW7QU^6WR='[%QP#O +R.,74$L#!!0 ( +. IUBR:$G8U0$ +\A 3 M 6T-O;G1E;G1?5'EP97-=+GAM;,W:74^#,!0&X+^R<&M&UZ_Y$>>->JM> M^ .+HS#9M4T7%ED5H[M@ M+!05M2;DUE&71I;6MR:F1[]BSA1KLR(F9K,Y*VP7J8O3V-?(KBYO:&DV39S< M[M+K4-MND7EJ0C:YWD_LLQ:9<:ZI"Q/3.-MVY9>4Z5M"GE8. MW7W6_*^+FGR8'R\,VV:Q78-"_&EH9"/E_BF1[M MG"=3AHHHMDV^+WHRGAS3#M/^RH_.'\J,!::9#]ZZD$[,T^%Q[T?2KYZZ5(A\ MK,<_\2,QE3[Z^Z@_[9+*7V:G[7VV?CV<1V##[?@]_GS&'_4/[$. ]"%!^E @ M?6B0/N8@?9R"]'$&TL7%/[@ "L" 1 M " :\ !D;V-0&UL4$L! A0#% @ LH"G6&*XTJ38!0 XAX !@ M ("!#0@ 'AL+W=O 8 " @1L. !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% M @ LH"G6/5V,@R"! BA$ !@ ("!_!@ 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ LH"G6"NM=.U.!@ M:"8 !@ ("!7R@ 'AL+W=O,N M !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ LH"G6(K '[<7!0 ^PP !D M ("!U#8 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ LH"G6(T81JI[#@ X2X !D ("!R$@ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ LH"G6*RV MX_'( @ A 8 !D ("!A5\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ LH"G6-/[)0S2!0 * \ !D M ("!36\ 'AL+W=O&PO M=V]R:W-H965T%X !X;"]W;W)K&UL4$L! A0#% @ LH"G6.3<,RX3!0 3 L !D ("! M#GT 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ LH"G6%Z+@D8=! !@X !D ("!UXP 'AL+W=O&PO=V]R:W-H965TP8 %H8 9 " @3NB !X;"]W;W)K&UL4$L! A0#% @ LH"G6,K[L?DU P # @ !D M ("![:@ 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ LH"G6+V&PO=V]R:W-H965T&] !X;"]W;W)K&UL4$L! A0#% @ MLH"G6(4[D&;] @ P@D !D ("!(,, 'AL+W=ORL# !<# &0 @(', MU0 >&PO=V]R:W-H965T&UL4$L! A0#% @ LX"G6'8?F^8D P Q@H !D M ("!U-\ 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ LX"G6#NB"2M_ @ 4P8 !D ("!(NP 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ LX"G M6#7:^*80 P T L !D ("!B_8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ LX"G6)WE"$AV @ E 4 M !D ("!.PX! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ LX"G6#,!YS[= @ ? L !D M ("!#1&PO=V]R:W-H965T M&UL4$L! A0# M% @ LX"G6%[>0^9& P K!0 T ( !'!\! 'AL+W-T M>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% M @ LX"G6/,@BWGI 0 $B( !H ( !:R@! 'AL+U]R96QS M+W=O XML 70 Show.js IDEA: XBRL DOCUMENT // Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission. Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105. var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0); e.removeAttribute('id');a.parentNode.appendChild(e)}} if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'} e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}} XML 71 report.css IDEA: XBRL DOCUMENT /* Updated 2009-11-04 */ /* v2.2.0.24 */ /* DefRef Styles */ ..report table.authRefData{ background-color: #def; border: 2px solid #2F4497; font-size: 1em; position: absolute; } ..report table.authRefData a { display: block; font-weight: bold; } ..report table.authRefData p { margin-top: 0px; } ..report table.authRefData .hide { background-color: #2F4497; padding: 1px 3px 0px 0px; text-align: right; } ..report table.authRefData .hide a:hover { background-color: #2F4497; } ..report table.authRefData .body { height: 150px; overflow: auto; width: 400px; } ..report table.authRefData table{ font-size: 1em; } /* Report Styles */ ..pl a, .pl a:visited { color: black; text-decoration: none; } /* table */ ..report { background-color: white; border: 2px solid #acf; clear: both; color: black; font: normal 8pt Helvetica, Arial, san-serif; margin-bottom: 2em; } ..report hr { border: 1px solid #acf; } /* Top labels */ ..report th { background-color: #acf; color: black; font-weight: bold; text-align: center; } ..report th.void { background-color: transparent; color: #000000; font: bold 10pt Helvetica, Arial, san-serif; text-align: left; } ..report .pl { text-align: left; vertical-align: top; white-space: normal; width: 200px; white-space: normal; /* word-wrap: break-word; */ } ..report td.pl a.a { cursor: pointer; display: block; width: 200px; overflow: hidden; } ..report td.pl div.a { width: 200px; } ..report td.pl a:hover { background-color: #ffc; } /* Header rows... */ ..report tr.rh { background-color: #acf; color: black; font-weight: bold; } /* Calendars... */ ..report .rc { background-color: #f0f0f0; } /* Even rows... */ ..report .re, .report .reu { background-color: #def; } ..report .reu td { border-bottom: 1px solid black; } /* Odd rows... */ ..report .ro, .report .rou { background-color: white; } ..report .rou td { border-bottom: 1px solid black; } ..report .rou table td, .report .reu table td { border-bottom: 0px solid black; } /* styles for footnote marker */ ..report .fn { white-space: nowrap; } /* styles for numeric types */ ..report .num, .report .nump { text-align: right; white-space: nowrap; } ..report .nump { padding-left: 2em; } ..report .nump { padding: 0px 0.4em 0px 2em; } /* styles for text types */ ..report .text { text-align: left; white-space: normal; } ..report .text .big { margin-bottom: 1em; width: 17em; } ..report .text .more { display: none; } ..report .text .note { font-style: italic; font-weight: bold; } ..report .text .small { width: 10em; } ..report sup { font-style: italic; } ..report .outerFootnotes { font-size: 1em; } XML 73 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 192 273 1 false 69 0 false 6 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.topbuild.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://www.topbuild.com/role/StatementConsolidatedBalanceSheets CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS Sheet http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations CONSOLIDATED STATEMENTS OF OPERATIONS Statements 4 false false R5.htm 00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.topbuild.com/role/StatementConsolidatedStatementsOfComprehensiveIncome CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 5 false false R6.htm 00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 6 false false R7.htm 00500 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY Sheet http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY Statements 7 false false R8.htm 00505 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY (Parenthetical) Sheet http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquityParenthetical CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY (Parenthetical) Statements 8 false false R9.htm 10101 - Disclosure - Basis of Presentation Sheet http://www.topbuild.com/role/DisclosureBasisOfPresentation Basis of Presentation Notes 9 false false R10.htm 10201 - Disclosure - Accounting Policies Sheet http://www.topbuild.com/role/DisclosureAccountingPolicies Accounting Policies Notes 10 false false R11.htm 10301 - Disclosure - Revenue Recognition Sheet http://www.topbuild.com/role/DisclosureRevenueRecognition Revenue Recognition Notes 11 false false R12.htm 10401 - Disclosure - Goodwill and Other Intangibles Sheet http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles Goodwill and Other Intangibles Notes 12 false false R13.htm 10501 - Disclosure - Long-Term Debt Sheet http://www.topbuild.com/role/DisclosureLongTermDebt Long-Term Debt Notes 13 false false R14.htm 10601 - Disclosure - Fair Value Measurements Sheet http://www.topbuild.com/role/DisclosureFairValueMeasurements Fair Value Measurements Notes 14 false false R15.htm 10701 - Disclosure - Segment Information Sheet http://www.topbuild.com/role/DisclosureSegmentInformation Segment Information Notes 15 false false R16.htm 10801 - Disclosure - Income Taxes Sheet http://www.topbuild.com/role/DisclosureIncomeTaxes Income Taxes Notes 16 false false R17.htm 10901 - Disclosure - Net Income Per Share Sheet http://www.topbuild.com/role/DisclosureNetIncomePerShare Net Income Per Share Notes 17 false false R18.htm 11001 - Disclosure - Share-Based Compensation Sheet http://www.topbuild.com/role/DisclosureShareBasedCompensation Share-Based Compensation Notes 18 false false R19.htm 11101 - Disclosure - Business Combinations Sheet http://www.topbuild.com/role/DisclosureBusinessCombinations Business Combinations Notes 19 false false R20.htm 11201 - Disclosure - Accrued Liabilities Sheet http://www.topbuild.com/role/DisclosureAccruedLiabilities Accrued Liabilities Notes 20 false false R21.htm 11301 - Disclosure - Other Commitments and Contingencies Sheet http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies Other Commitments and Contingencies Notes 21 false false R22.htm 11401 - Disclosure - Subsequent Events Sheet http://www.topbuild.com/role/DisclosureSubsequentEvents Subsequent Events Notes 22 false false R23.htm 20202 - Disclosure - Accounting Policies (Policies) Sheet http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies Accounting Policies (Policies) Policies http://www.topbuild.com/role/DisclosureAccountingPolicies 23 false false R24.htm 30303 - Disclosure - Revenue Recognition (Tables) Sheet http://www.topbuild.com/role/DisclosureRevenueRecognitionTables Revenue Recognition (Tables) Tables http://www.topbuild.com/role/DisclosureRevenueRecognition 24 false false R25.htm 30403 - Disclosure - Goodwill and Other Intangibles (Tables) Sheet http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables Goodwill and Other Intangibles (Tables) Tables http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles 25 false false R26.htm 30503 - Disclosure - Long-Term Debt (Tables) Sheet http://www.topbuild.com/role/DisclosureLongTermDebtTables Long-Term Debt (Tables) Tables http://www.topbuild.com/role/DisclosureLongTermDebt 26 false false R27.htm 30603 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.topbuild.com/role/DisclosureFairValueMeasurements 27 false false R28.htm 30703 - Disclosure - Segment Information (Tables) Sheet http://www.topbuild.com/role/DisclosureSegmentInformationTables Segment Information (Tables) Tables http://www.topbuild.com/role/DisclosureSegmentInformation 28 false false R29.htm 30903 - Disclosure - Net Income Per Share (Tables) Sheet http://www.topbuild.com/role/DisclosureNetIncomePerShareTables Net Income Per Share (Tables) Tables http://www.topbuild.com/role/DisclosureNetIncomePerShare 29 false false R30.htm 31003 - Disclosure - Share-Based Compensation (Tables) Sheet http://www.topbuild.com/role/DisclosureShareBasedCompensationTables Share-Based Compensation (Tables) Tables http://www.topbuild.com/role/DisclosureShareBasedCompensation 30 false false R31.htm 31203 - Disclosure - Accrued Liabilities (Tables) Sheet http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables Accrued Liabilities (Tables) Tables http://www.topbuild.com/role/DisclosureAccruedLiabilities 31 false false R32.htm 31303 - Disclosure - Other Commitments and Contingencies (Tables) Sheet http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables Other Commitments and Contingencies (Tables) Tables http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies 32 false false R33.htm 40101 - Disclosure - Basis of Presentation (Details) Sheet http://www.topbuild.com/role/DisclosureBasisOfPresentationDetails Basis of Presentation (Details) Details http://www.topbuild.com/role/DisclosureBasisOfPresentation 33 false false R34.htm 40301 - Disclosure - Revenue Recognition - Disaggregation (Details) Sheet http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails Revenue Recognition - Disaggregation (Details) Details 34 false false R35.htm 40302 - Disclosure - Revenue Recognition - Other (Details) Sheet http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails Revenue Recognition - Other (Details) Details 35 false false R36.htm 40401 - Disclosure - Goodwill and Other Intangibles - Goodwill (Details) Sheet http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails Goodwill and Other Intangibles - Goodwill (Details) Details 36 false false R37.htm 40402 - Disclosure - Goodwill and Other Intangibles - Other intangible assets (Details) Sheet http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails Goodwill and Other Intangibles - Other intangible assets (Details) Details 37 false false R38.htm 40501 - Disclosure - Long-Term Debt - Reconciliation (Details) Sheet http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails Long-Term Debt - Reconciliation (Details) Details 38 false false R39.htm 40502 - Disclosure - Long-Term Debt - Schedule of debt maturity (Details) Sheet http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails Long-Term Debt - Schedule of debt maturity (Details) Details 39 false false R40.htm 40503 - Disclosure - Long-Term Debt - Key Terms of Credit Agreement (Details) Sheet http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails Long-Term Debt - Key Terms of Credit Agreement (Details) Details 40 false false R41.htm 40504 - Disclosure - Long-Term Debt - Revolving Facility (Details) Sheet http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails Long-Term Debt - Revolving Facility (Details) Details 41 false false R42.htm 40505 - Disclosure - Long-Term Debt - Senior Notes and Equipment Notes (Details) Notes http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails Long-Term Debt - Senior Notes and Equipment Notes (Details) Details 42 false false R43.htm 40506 - Disclosure - Long-Term Debt - Other (Details) Sheet http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails Long-Term Debt - Other (Details) Details 43 false false R44.htm 40601 - Disclosure - Fair Value Measurements (Details) Sheet http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables 44 false false R45.htm 40701 - Disclosure - Segment Information (Details) Sheet http://www.topbuild.com/role/DisclosureSegmentInformationDetails Segment Information (Details) Details http://www.topbuild.com/role/DisclosureSegmentInformationTables 45 false false R46.htm 40801 - Disclosure - Income Taxes (Details) Sheet http://www.topbuild.com/role/DisclosureIncomeTaxesDetails Income Taxes (Details) Details http://www.topbuild.com/role/DisclosureIncomeTaxes 46 false false R47.htm 40901 - Disclosure - Net Income Per Share - Calculation (Details) Sheet http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails Net Income Per Share - Calculation (Details) Details 47 false false R48.htm 40902 - Disclosure - Net Income Per Share - Anti-dilutive common stock equivalents (Details) Sheet http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails Net Income Per Share - Anti-dilutive common stock equivalents (Details) Details 48 false false R49.htm 41001 - Disclosure - Share-Based Compensation - Expense (Details) Sheet http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails Share-Based Compensation - Expense (Details) Details 49 false false R50.htm 41002 - Disclosure - Share-Based Compensation - Activity (Details) Sheet http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails Share-Based Compensation - Activity (Details) Details 50 false false R51.htm 41101 - Disclosure - Business Combinations - Summary (Details) Sheet http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails Business Combinations - Summary (Details) Details 51 false false R52.htm 41102 - Disclosure - Business Combinations - Intangibles (Details) Sheet http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails Business Combinations - Intangibles (Details) Details 52 false false R53.htm 41201 - Disclosure - Accrued Liabilities (Details) Sheet http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails Accrued Liabilities (Details) Details http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables 53 false false R54.htm 41301 - Disclosure - Other Commitments and Contingencies (Details) Sheet http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails Other Commitments and Contingencies (Details) Details http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables 54 false false R55.htm 41401 - Disclosure - Subsequent Events (Details) Sheet http://www.topbuild.com/role/DisclosureSubsequentEventsDetails Subsequent Events (Details) Details http://www.topbuild.com/role/DisclosureSubsequentEvents 55 false false R56.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Uncategorized 56 false false R57.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Cover 57 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 2 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:PreferredStockSharesOutstanding - bld-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 - bld-20240331x10q.htm 9 [dq-0712-Presentation-Base-Set-Order] Role '41401 - Disclosure - Subsequent Events (Details)', a level 4, Detail role, appears before '995410 - Disclosure - Pay vs Performance Disclosure', a level 1, Note role. bld-20240331.xsd 327, https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd 30 bld-20240331.xsd bld-20240331_cal.xml bld-20240331_def.xml bld-20240331_lab.xml bld-20240331_pre.xml bld-20240331x10q.htm http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 76 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "bld-20240331x10q.htm": { "nsprefix": "bld", "nsuri": "http://www.topbuild.com/20240331", "dts": { "schema": { "local": [ "bld-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", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" ] }, "calculationLink": { "local": [ "bld-20240331_cal.xml" ] }, "definitionLink": { "local": [ "bld-20240331_def.xml" ] }, "labelLink": { "local": [ "bld-20240331_lab.xml" ] }, "presentationLink": { "local": [ "bld-20240331_pre.xml" ] }, "inline": { "local": [ "bld-20240331x10q.htm" ] } }, "keyStandard": 227, "keyCustom": 46, "axisStandard": 22, "axisCustom": 2, "memberStandard": 25, "memberCustom": 40, "hidden": { "total": 11, "http://fasb.org/us-gaap/2023": 6, "http://xbrl.sec.gov/dei/2023": 5 }, "contextCount": 192, "entityCount": 1, "segmentCount": 69, "elementCount": 554, "unitCount": 6, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 546, "http://xbrl.sec.gov/dei/2023": 29, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://www.topbuild.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_KSPEcQ393EuDkeIp_OqWgw", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets", "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS", "shortName": "CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical", "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R4": { "role": "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations", "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS", "shortName": "CONSOLIDATED STATEMENTS OF OPERATIONS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R5": { "role": "http://www.topbuild.com/role/StatementConsolidatedStatementsOfComprehensiveIncome", "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R6": { "role": "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows", "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity", "longName": "00500 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY", "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_n7MFU7y4qkmqS2mZd3NpZA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_n7MFU7y4qkmqS2mZd3NpZA", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquityParenthetical", "longName": "00505 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY (Parenthetical)", "shortName": "CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_phCdZv3OuE6lPlqReuDnfA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2023_6fZwF_d94k2MXOoaTXkX6Q", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_phCdZv3OuE6lPlqReuDnfA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "b", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R9": { "role": "http://www.topbuild.com/role/DisclosureBasisOfPresentation", "longName": "10101 - Disclosure - Basis of Presentation", "shortName": "Basis of Presentation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.topbuild.com/role/DisclosureAccountingPolicies", "longName": "10201 - Disclosure - Accounting Policies", "shortName": "Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.topbuild.com/role/DisclosureRevenueRecognition", "longName": "10301 - Disclosure - Revenue Recognition", "shortName": "Revenue Recognition", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles", "longName": "10401 - Disclosure - Goodwill and Other Intangibles", "shortName": "Goodwill and Other Intangibles", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.topbuild.com/role/DisclosureLongTermDebt", "longName": "10501 - Disclosure - Long-Term Debt", "shortName": "Long-Term Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:LongTermDebtTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:LongTermDebtTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.topbuild.com/role/DisclosureFairValueMeasurements", "longName": "10601 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.topbuild.com/role/DisclosureSegmentInformation", "longName": "10701 - Disclosure - Segment Information", "shortName": "Segment Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.topbuild.com/role/DisclosureIncomeTaxes", "longName": "10801 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.topbuild.com/role/DisclosureNetIncomePerShare", "longName": "10901 - Disclosure - Net Income Per Share", "shortName": "Net Income Per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.topbuild.com/role/DisclosureShareBasedCompensation", "longName": "11001 - Disclosure - Share-Based Compensation", "shortName": "Share-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.topbuild.com/role/DisclosureBusinessCombinations", "longName": "11101 - Disclosure - Business Combinations", "shortName": "Business Combinations", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.topbuild.com/role/DisclosureAccruedLiabilities", "longName": "11201 - Disclosure - Accrued Liabilities", "shortName": "Accrued Liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "bld:AccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "bld:AccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies", "longName": "11301 - Disclosure - Other Commitments and Contingencies", "shortName": "Other Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.topbuild.com/role/DisclosureSubsequentEvents", "longName": "11401 - Disclosure - Subsequent Events", "shortName": "Subsequent Events", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies", "longName": "20202 - Disclosure - Accounting Policies (Policies)", "shortName": "Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.topbuild.com/role/DisclosureRevenueRecognitionTables", "longName": "30303 - Disclosure - Revenue Recognition (Tables)", "shortName": "Revenue Recognition (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables", "longName": "30403 - Disclosure - Goodwill and Other Intangibles (Tables)", "shortName": "Goodwill and Other Intangibles (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.topbuild.com/role/DisclosureLongTermDebtTables", "longName": "30503 - Disclosure - Long-Term Debt (Tables)", "shortName": "Long-Term Debt (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LongTermDebtTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LongTermDebtTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables", "longName": "30603 - Disclosure - Fair Value Measurements (Tables)", "shortName": "Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.topbuild.com/role/DisclosureSegmentInformationTables", "longName": "30703 - Disclosure - Segment Information (Tables)", "shortName": "Segment Information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.topbuild.com/role/DisclosureNetIncomePerShareTables", "longName": "30903 - Disclosure - Net Income Per Share (Tables)", "shortName": "Net Income Per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables", "longName": "31003 - Disclosure - Share-Based Compensation (Tables)", "shortName": "Share-Based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "bld:ScheduleOfShareBasedCompensationExpenseTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "bld:ScheduleOfShareBasedCompensationExpenseTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables", "longName": "31203 - Disclosure - Accrued Liabilities (Tables)", "shortName": "Accrued Liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "bld:AccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "bld:AccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables", "longName": "31303 - Disclosure - Other Commitments and Contingencies (Tables)", "shortName": "Other Commitments and Contingencies (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "bld:BondsOutstandingTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "bld:BondsOutstandingTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.topbuild.com/role/DisclosureBasisOfPresentationDetails", "longName": "40101 - Disclosure - Basis of Presentation (Details)", "shortName": "Basis of Presentation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_gyN36aFnsEe6MrqRm7cALg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_gyN36aFnsEe6MrqRm7cALg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails", "longName": "40301 - Disclosure - Revenue Recognition - Disaggregation (Details)", "shortName": "Revenue Recognition - Disaggregation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "34", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_srt_ProductOrServiceAxis_bld_InsulationAndAccessoriesMember_aH5u-buSBUiDvHvlASTnmg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R35": { "role": "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails", "longName": "40302 - Disclosure - Revenue Recognition - Other (Details)", "shortName": "Revenue Recognition - Other (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "bld:AccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R36": { "role": "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails", "longName": "40401 - Disclosure - Goodwill and Other Intangibles - Goodwill (Details)", "shortName": "Goodwill and Other Intangibles - Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:NumberOfReportingUnits", "unitRef": "Unit_Standard_item_2p2nO6-U10imuqeZvJHdRQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:NumberOfReportingUnits", "unitRef": "Unit_Standard_item_2p2nO6-U10imuqeZvJHdRQ", "xsiNil": "false", "lang": null, "decimals": "0", "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails", "longName": "40402 - Disclosure - Goodwill and Other Intangibles - Other intangible assets (Details)", "shortName": "Goodwill and Other Intangibles - Other intangible assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "bld:ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "bld:ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "longName": "40501 - Disclosure - Long-Term Debt - Reconciliation (Details)", "shortName": "Long-Term Debt - Reconciliation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:DeferredFinanceCostsNet", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:LongTermDebtTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R39": { "role": "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails", "longName": "40502 - Disclosure - Long-Term Debt - Schedule of debt maturity (Details)", "shortName": "Long-Term Debt - Schedule of debt maturity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "longName": "40503 - Disclosure - Long-Term Debt - Key Terms of Credit Agreement (Details)", "shortName": "Long-Term Debt - Key Terms of Credit Agreement (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_LongtermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_fj_kNoBklU-jHCpQYtxf_A", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "bld:ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_bld_AmendmentNo.4ToCreditAgreementMember_CKVdngbLKUOFl00MOOQj3A", "name": "us-gaap:DebtInstrumentInterestRateEffectivePercentage", "unitRef": "Unit_Standard_pure_VJWYukYVuEytLQJvUky6tg", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "p", "td", "tr", "table", "bld:SummaryOfKeyTermsOfCreditAgreementTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R41": { "role": "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "longName": "40504 - Disclosure - Long-Term Debt - Revolving Facility (Details)", "shortName": "Long-Term Debt - Revolving Facility (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_LongtermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_fj_kNoBklU-jHCpQYtxf_A", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "bld:ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_LongtermDebtTypeAxis_us-gaap_RevolvingCreditFacilityMember_fj_kNoBklU-jHCpQYtxf_A", "name": "us-gaap:LettersOfCreditOutstandingAmount", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "bld:ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R42": { "role": "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails", "longName": "40505 - Disclosure - Long-Term Debt - Senior Notes and Equipment Notes (Details)", "shortName": "Long-Term Debt - Senior Notes and Equipment Notes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:LongTermDebt", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:LongTermDebtTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_us-gaap_LongtermDebtTypeAxis_bld_EquipmentNotesMember_2DLbBkEbNEiAQzo_6pXnXw", "name": "us-gaap:DebtInstrumentTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R43": { "role": "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "longName": "40506 - Disclosure - Long-Term Debt - Other (Details)", "shortName": "Long-Term Debt - Other (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "bld:DebtInstrumentCovenantNetLeverageRatio", "unitRef": "Unit_Standard_pure_VJWYukYVuEytLQJvUky6tg", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "td", "tr", "table", "bld:ScheduleOfKeyFinancialCovenantsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "bld:DebtInstrumentCovenantNetLeverageRatio", "unitRef": "Unit_Standard_pure_VJWYukYVuEytLQJvUky6tg", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "td", "tr", "table", "bld:ScheduleOfKeyFinancialCovenantsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails", "longName": "40601 - Disclosure - Fair Value Measurements (Details)", "shortName": "Fair Value Measurements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_DebtInstrumentAxis_bld_SeniorNotesDue2029Member_gO61TEZqNkyFBhvF9L4zsw", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R45": { "role": "http://www.topbuild.com/role/DisclosureSegmentInformationDetails", "longName": "40701 - Disclosure - Segment Information (Details)", "shortName": "Segment Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_srt_ConsolidationItemsAxis_us-gaap_OperatingSegmentsMember_sX6jeYNoXk2VcfgzFZZC3Q", "name": "us-gaap:OperatingIncomeLoss", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R46": { "role": "http://www.topbuild.com/role/DisclosureIncomeTaxesDetails", "longName": "40801 - Disclosure - Income Taxes (Details)", "shortName": "Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_VJWYukYVuEytLQJvUky6tg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_VJWYukYVuEytLQJvUky6tg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "longName": "40901 - Disclosure - Net Income Per Share - Calculation (Details)", "shortName": "Net Income Per Share - Calculation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "bld:IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions", "unitRef": "Unit_Standard_shares_Ws2jgNbfKkOu8KeVTJNJLw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R48": { "role": "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails", "longName": "40902 - Disclosure - Net Income Per Share - Anti-dilutive common stock equivalents (Details)", "shortName": "Net Income Per Share - Anti-dilutive common stock equivalents (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_Ws2jgNbfKkOu8KeVTJNJLw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "Unit_Standard_shares_Ws2jgNbfKkOu8KeVTJNJLw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails", "longName": "41001 - Disclosure - Share-Based Compensation - Expense (Details)", "shortName": "Share-Based Compensation - Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "longName": "41002 - Disclosure - Share-Based Compensation - Activity (Details)", "shortName": "Share-Based Compensation - Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised", "unitRef": "Unit_Standard_shares_Ws2jgNbfKkOu8KeVTJNJLw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "unique": true } }, "R51": { "role": "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails", "longName": "41101 - Disclosure - Business Combinations - Summary (Details)", "shortName": "Business Combinations - Summary (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:BusinessCombinationAcquisitionRelatedCosts", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails", "longName": "41102 - Disclosure - Business Combinations - Intangibles (Details)", "shortName": "Business Combinations - Intangibles (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2024Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Htf1kL5Q90aIUU3D3gNxpA", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_us-gaap_BusinessAcquisitionAxis_bld_Acquisitions2024Member_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_CustomerRelationshipsMember_Htf1kL5Q90aIUU3D3gNxpA", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails", "longName": "41201 - Disclosure - Accrued Liabilities (Details)", "shortName": "Accrued Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "bld:AccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "us-gaap:EmployeeRelatedLiabilitiesCurrent", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "bld:AccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails", "longName": "41301 - Disclosure - Other Commitments and Contingencies (Details)", "shortName": "Other Commitments and Contingencies (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "bld:PerformanceBondsOutstanding", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "bld:BondsOutstandingTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_3_31_2024_MhhdPmbwl0SS5C0pQEwzXg", "name": "bld:PerformanceBondsOutstanding", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "bld:BondsOutstandingTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails", "longName": "41401 - Disclosure - Subsequent Events (Details)", "shortName": "Subsequent Events (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "Duration_4_22_2024_To_4_22_2024_us-gaap_BusinessAcquisitionAxis_bld_SpiMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_M4Hx6rt8y0qaaikicNERSQ", "name": "bld:BusinessCombinationTerminationFee", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-6", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_4_22_2024_To_4_22_2024_us-gaap_BusinessAcquisitionAxis_bld_SpiMember_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember_M4Hx6rt8y0qaaikicNERSQ", "name": "bld:BusinessCombinationTerminationFee", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-6", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true } }, "R56": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Uncategorized", "order": "56", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_jFvv53Ys1EKGyf6ovo_Zyg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true }, "uniqueAnchor": null }, "R57": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Cover", "order": "57", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-20240331x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_3_31_2024_KSPEcQ393EuDkeIp_OqWgw", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "bld-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": "Accounting Policies" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "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": [ "r20", "r575" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Net, Current", "terseLabel": "Receivables, net of an allowance for credit losses of $23,948 at March 31, 2024, and $23,948 at December 31, 2023", "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": [ "r225", "r226" ] }, "bld_AccruedCustomerRebatesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "AccruedCustomerRebatesCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations for customer rebates. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Customer Rebates, Current", "terseLabel": "Customer rebates" } } }, "auth_ref": [] }, "us-gaap_AccruedIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Income Taxes, Current", "terseLabel": "Income taxes payable", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations." } } }, "auth_ref": [ "r79", "r116" ] }, "us-gaap_AccruedInsuranceCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedInsuranceCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Insurance, Current", "terseLabel": "Insurance liabilities", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r23" ] }, "us-gaap_AccruedInsuranceNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedInsuranceNoncurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Insurance, Noncurrent", "terseLabel": "Long-term portion of insurance reserves", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and due beyond one year (or beyond one operating cycle if longer) to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverages to employees." } } }, "auth_ref": [ "r27" ] }, "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 }, "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails", "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Also includes the total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Liabilities and Employee-related Liabilities, Current", "terseLabel": "Accrued liabilities", "totalLabel": "Total accrued liabilities" } } }, "auth_ref": [] }, "bld_AccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "AccruedLiabilitiesDisclosureTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilities" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accrued liabilities at the end of the reporting period.", "label": "Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accrued Liabilities" } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesMember", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Accrued liabilities", "documentation": "This item represents 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." } } }, "auth_ref": [ "r23" ] }, "bld_AccruedSalesAndPropertyTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "AccruedSalesAndPropertyTaxesCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations for sales and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued Sales and Property Taxes, Current", "terseLabel": "Sales and property taxes" } } }, "auth_ref": [] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive loss", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r31", "r32", "r87", "r140", "r443", "r475", "r476" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive (Loss) Income", "terseLabel": "Accumulated Other Comprehensive (Loss) Income", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r4", "r11", "r32", "r384", "r387", "r420", "r471", "r472", "r670", "r671", "r672", "r677", "r678", "r679" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Estimates of acquired intangible assets", "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_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life", "terseLabel": "Weighted Average Estimated Useful Life (Years)", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r105" ] }, "bld_Acquisitions2024Member": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "Acquisitions2024Member", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails", "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to 2024 acquisitions.", "label": "Acquisitions 2024 [Member]", "terseLabel": "2024 Acquisitions" } } }, "auth_ref": [] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r626" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r82" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "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": [ "r355", "r356", "r357", "r482", "r677", "r678", "r679", "r735", "r751" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r632" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r632" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r632" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r632" ] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Adjustments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Shares withheld to pay taxes on employees' equity awards", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "terseLabel": "Share-based compensation", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r59", "r60", "r321" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "auth_ref": [] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r597", "r608", "r618", "r643" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r600", "r611", "r621", "r646" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r632" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r639" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r604", "r612", "r622", "r639", "r647", "r651", "r659" ] }, "bld_AllOtherProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "AllOtherProductsMember", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents in aggregate all other product categories.", "label": "All other" } } }, "auth_ref": [] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r657" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Allocated Share-based Compensation Expense", "terseLabel": "Share-based compensation expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r350", "r358" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Allowance for Doubtful Accounts Receivable, Current", "terseLabel": "Allowance for credit losses", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r141", "r227", "r231" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.topbuild.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": [] }, "bld_AmendmentNo.4ToCreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "AmendmentNo.4ToCreditAgreementMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Amendment No. 4 to the original credit agreement entered into on July 26, 2023.", "label": "Amendment No. 4 to Credit Agreement", "terseLabel": "Credit Agreement" } } }, "auth_ref": [] }, "us-gaap_AmortizationOfFinancingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCosts", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Amortization of Financing Costs", "terseLabel": "Amortization of debt issuance costs", "documentation": "Amount of amortization expense attributable to debt issuance costs." } } }, "auth_ref": [ "r90", "r288", "r415", "r673" ] }, "us-gaap_AmortizationOfIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" ], "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": [ "r8", "r46", "r50" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "verboseLabel": "Total anti-dilutive common stock equivalents", "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": [ "r187" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r40" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "terseLabel": "Anti-dilutive common stock equivalents", "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_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" ], "lang": { "en-us": { "role": { "label": "Antidilutive Securities, Name [Domain]", "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented." } } }, "auth_ref": [ "r40" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureSegmentInformationDetails", "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "terseLabel": "Total 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": [ "r114", "r136", "r162", "r196", "r211", "r217", "r228", "r260", "r261", "r263", "r264", "r265", "r267", "r269", "r271", "r272", "r377", "r381", "r401", "r438", "r506", "r575", "r588", "r701", "r702", "r738" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "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.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r130", "r143", "r162", "r228", "r260", "r261", "r263", "r264", "r265", "r267", "r269", "r271", "r272", "r377", "r381", "r401", "r575", "r701", "r702", "r738" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r654" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r655" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r650" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r650" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r650" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r650" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r650" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r650" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r653" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r652" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r651" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r651" ] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Axis]", "documentation": "Information by location on balance sheet (statement of financial position)." } } }, "auth_ref": [] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Domain]", "documentation": "Location in the balance sheet (statement of financial position)." } } }, "auth_ref": [ "r68", "r69" ] }, "bld_BaseRateBorrowingsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "BaseRateBorrowingsMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information regarding Base Rate borrowings.", "label": "Base Rate Borrowings" } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Financial Statement Presentation", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "bld_BondsOutstanding": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "BondsOutstanding", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of bonds outstanding at the end of the reporting period.", "label": "Bonds Outstanding", "totalLabel": "Total bonds" } } }, "auth_ref": [] }, "bld_BondsOutstandingTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "BondsOutstandingTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information about bonds outstanding.", "label": "Bonds Outstanding [Table Text Block]", "terseLabel": "Summary of outstanding bonds" } } }, "auth_ref": [] }, "bld_BrabbleMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "BrabbleMember", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Brabble, a residential and light commercial insulation business.", "label": "Brabble [Member]", "terseLabel": "Brabble" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails", "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails", "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "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": [ "r374", "r567", "r568" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails", "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails", "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r62", "r63", "r374", "r567", "r568" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "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": [ "r374" ] }, "us-gaap_BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionPurchasePriceAllocationGoodwillExpectedTaxDeductibleAmount", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Goodwill, Expected Tax Deductible Amount", "terseLabel": "Goodwill expected to be deducted for income tax purposes", "documentation": "The amount of goodwill arising from a business combination that is expected to be deductible for tax purposes." } } }, "auth_ref": [ "r67" ] }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAcquisitionRelatedCosts", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Acquisition Related Costs", "terseLabel": "Acquisition related costs", "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities." } } }, "auth_ref": [ "r61" ] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Consideration Transferred", "terseLabel": "Purchase price", "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer." } } }, "auth_ref": [ "r1", "r2", "r10" ] }, "bld_BusinessCombinationConsiderationTransferredExpected": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "BusinessCombinationConsiderationTransferredExpected", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails", "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of consideration expected to be transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer.", "label": "Business Combination, Consideration Transferred, Expected", "terseLabel": "Expected purchase price" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationDescriptionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDescriptionAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Description [Abstract]", "verboseLabel": "Summary of businesses acquired:" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.topbuild.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": [ "r112", "r375" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails", "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "terseLabel": "Intangible assets", "verboseLabel": "Estimated Fair Value", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r64", "r65" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNetAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net [Abstract]", "verboseLabel": "Estimated fair values" } } }, "auth_ref": [] }, "bld_BusinessCombinationTerminationFee": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "BusinessCombinationTerminationFee", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "The termination fee required to be paid to the seller per the terms of the purchase agreement in a business combination.", "label": "Business Combination Termination Fee", "terseLabel": "Termination fee" } } }, "auth_ref": [] }, "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_BusinessDescriptionAndBasisOfPresentationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureBasisOfPresentation" ], "lang": { "en-us": { "role": { "label": "Business Description and Basis of Presentation [Text Block]", "terseLabel": "Basis of Presentation", "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. 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)." } } }, "auth_ref": [ "r77", "r101", "r102" ] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Accruals for property and equipment", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r37", "r38", "r39" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "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": [ "r36", "r132", "r544" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents- End of period", "periodStartLabel": "Cash and cash equivalents- Beginning of period", "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": [ "r36", "r98", "r160" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Period Increase (Decrease)", "totalLabel": "Net increase in cash and cash equivalents", "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": [ "r3", "r98" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffectAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Period Increase (Decrease) [Abstract]", "terseLabel": "Cash and Cash Equivalents" } } }, "auth_ref": [] }, "bld_ChangeInControlScenarioMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ChangeInControlScenarioMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "The scenario representing a change in control.", "label": "Change in Control Scenario" } } }, "auth_ref": [] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r630" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r631" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r631" ] }, "bld_CommercialAndIndustrialMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "CommercialAndIndustrialMember", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the commercial and industrial market.", "label": "Commercial and Industrial" } } }, "auth_ref": [] }, "bld_CommercialInsulationBusinessPciMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "CommercialInsulationBusinessPciMember", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Commercial Insulation Business PCI.", "label": "Commercial Insulation Business PCI [Member]", "terseLabel": "PCI" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies", "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": [ "r28", "r75", "r440", "r493" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Other Commitments and Contingencies" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Other Commitments and Contingencies", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r107", "r254", "r255", "r540", "r698" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r578", "r579", "r580", "r582", "r583", "r584", "r585", "r677", "r678", "r735", "r749", "r751" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquityParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par Value (in dollars per share)", "terseLabel": "Common stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r81" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "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": [ "r81", "r494" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "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": [ "r81" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "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": [ "r12", "r81", "r494", "r512", "r751", "r752" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $0.01 par value: 250,000,000 shares authorized; 39,549,030 shares issued and 31,818,099 outstanding at March 31, 2024, and 39,492,037 shares issued and 31,776,039 outstanding at 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": [ "r81", "r442", "r575" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r636" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r635" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r637" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r634" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "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": [ "r33", "r146", "r148", "r154", "r435", "r450" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails", "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]" } } }, "auth_ref": [ "r164", "r198", "r209", "r210", "r211", "r212", "r213", "r215", "r219", "r260", "r261", "r262", "r263", "r265", "r266", "r268", "r270", "r271", "r701", "r702" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails", "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]" } } }, "auth_ref": [ "r164", "r198", "r209", "r210", "r211", "r212", "r213", "r215", "r219", "r260", "r261", "r262", "r263", "r265", "r266", "r268", "r270", "r271", "r701", "r702" ] }, "us-gaap_ConstructionContractorReceivableRetainage": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionContractorReceivableRetainage", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Construction Contractor, Receivable, Retainage", "terseLabel": "Retained receivables", "documentation": "Amount of right to consideration in exchange for good or service transferred to customer withheld under retainage provision in long-term contract or program when right to consideration is unconditional." } } }, "auth_ref": [ "r139", "r429" ] }, "us-gaap_ContractWithCustomerAssetAndLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset and Liability [Abstract]", "terseLabel": "Contract assets and contract liabilities with customers:" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionTables" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset and Liability [Table Text Block]", "verboseLabel": "Schedule of contract assets and contract liabilities with customers", "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability." } } }, "auth_ref": [ "r705" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, Net, Current", "terseLabel": "Receivables, unbilled", "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r295", "r297", "r308" ] }, "us-gaap_ContractWithCustomerAssetNetCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNetCurrentAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, Net, Current [Abstract]", "terseLabel": "Contract Assets" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability [Abstract]", "terseLabel": "Contract Liabilities" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails", "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r295", "r296", "r308" ] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Corporate", "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment." } } }, "auth_ref": [ "r17", "r210", "r211", "r212", "r213", "r219", "r683" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of sales", "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": [ "r92", "r430" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover page.", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "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.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "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.topbuild.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.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails" ], "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": [ "r66" ] }, "bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio": { "xbrltype": "percentItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the applicable margin based on the total leverage ratio per the terms of the credit agreement.", "label": "Debit Instrument Applicable Margin Based on Total Leverage Ratio", "terseLabel": "Applicable margin based on total leverage ratio" } } }, "auth_ref": [] }, "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_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "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": [ "r19", "r78", "r79", "r115", "r117", "r164", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r288", "r416", "r551", "r552", "r553", "r554", "r555", "r674" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Basis spread", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 2.0 }, "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Gross", "terseLabel": "Amount outstanding", "totalLabel": "Total", "verboseLabel": "Long-term debt", "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt." } } }, "auth_ref": [ "r19", "r117", "r290" ] }, "bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding": { "xbrltype": "percentItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "Threshold percentage of aggregate principal amount of the debt instrument originally issued should remain outstanding after redemption under the debt instrument arrangement.", "label": "Debt Instrument, Conditional Redemption, Threshold Percentage Of Aggregate Principal Amount Originally Issued Remains Outstanding", "terseLabel": "Debt instrument, conditional redemption, threshold percentage of aggregate principal amount originally issued remains outstanding" } } }, "auth_ref": [] }, "bld_DebtInstrumentCovenantMinimumInterestCoverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DebtInstrumentCovenantMinimumInterestCoverageRatio", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the minimum interest coverage ratio allowed under the terms of the credit agreement's covenants.", "label": "Debt Instrument Covenant Minimum Interest Coverage Ratio", "terseLabel": "Minimum Interest Coverage Ratio" } } }, "auth_ref": [] }, "bld_DebtInstrumentCovenantNetLeverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DebtInstrumentCovenantNetLeverageRatio", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the ratio of total debt (less certain cash) to consolidated adjusted earnings before, interest, taxes, depreciation and amortization allowed under the terms of the credit agreement's covenants.", "label": "Debt Instrument Covenant Net Leverage Ratio", "terseLabel": "Maximum Net Leverage Ratio" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Face Amount", "terseLabel": "Principal amount of debt", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r72", "r74", "r273", "r416", "r552", "r553" ] }, "us-gaap_DebtInstrumentFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFairValue", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Fair Value Disclosure", "terseLabel": "Fair value", "documentation": "Fair value portion of debt instrument payable, including, but not limited to, notes payable and loans payable." } } }, "auth_ref": [ "r281", "r400", "r552", "r553" ] }, "us-gaap_DebtInstrumentInterestRateEffectivePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateEffectivePercentage", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate, Effective Percentage", "terseLabel": "Interest rate", "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium." } } }, "auth_ref": [ "r25", "r72", "r292", "r416" ] }, "bld_DebtInstrumentInterestRatePercentageFloor": { "xbrltype": "percentItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DebtInstrumentInterestRatePercentageFloor", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "The debt instrument percentage rate floor.", "label": "Debt Instrument Interest Rate Percentage, Floor", "terseLabel": "Interest rate floor (as a percent)" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateStatedPercentage", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Interest rate (as a percent)", "documentation": "Contractual interest rate for funds borrowed, under the debt agreement." } } }, "auth_ref": [ "r25", "r274" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Line Items]", "terseLabel": "Long-Term Debt", "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": [ "r164", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r416", "r551", "r552", "r553", "r554", "r555", "r674" ] }, "us-gaap_DebtInstrumentMaturityDate": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentMaturityDate", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Maturity Date", "terseLabel": "Scheduled maturity date", "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format." } } }, "auth_ref": [ "r125", "r551", "r736" ] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "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": [ "r26", "r164", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r288", "r416", "r551", "r552", "r553", "r554", "r555", "r674" ] }, "us-gaap_DebtInstrumentRedemptionPeriodAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPeriodAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Redemption, Period [Axis]", "documentation": "Information about timing of debt redemption features under terms of the debt agreement." } } }, "auth_ref": [ "r16" ] }, "us-gaap_DebtInstrumentRedemptionPeriodDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPeriodDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Redemption, Period [Domain]", "documentation": "Period as defined under terms of the debt agreement for debt redemption features." } } }, "auth_ref": [ "r16" ] }, "us-gaap_DebtInstrumentRedemptionPeriodFiveMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPeriodFiveMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "On October 15, 2029 and thereafter", "documentation": "Period five representing fifth most current period of debt redemption features under terms of the debt agreement." } } }, "auth_ref": [ "r16" ] }, "us-gaap_DebtInstrumentRedemptionPeriodFourMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPeriodFourMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "On or after October 15, 2028", "documentation": "Period four representing fourth most current period of debt redemption features under terms of the debt agreement." } } }, "auth_ref": [ "r16" ] }, "bld_DebtInstrumentRedemptionPeriodSevenMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DebtInstrumentRedemptionPeriodSevenMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "Period seven representing debt redemption features under terms of the debt agreement.", "label": "Prior to October 15, 2024" } } }, "auth_ref": [] }, "bld_DebtInstrumentRedemptionPeriodSixMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DebtInstrumentRedemptionPeriodSixMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "Period six representing debt redemption features under terms of the debt agreement.", "label": "Prior to October 15, 2026" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentRedemptionPeriodThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPeriodThreeMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "On or after October 15, 2027", "documentation": "Period three representing third most current period of debt redemption features under terms of the debt agreement." } } }, "auth_ref": [ "r16" ] }, "us-gaap_DebtInstrumentRedemptionPeriodTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPeriodTwoMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "On or after October 15, 2026", "documentation": "Period two representing second most current period of debt redemption features under terms of the debt agreement." } } }, "auth_ref": [ "r16" ] }, "bld_DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate": { "xbrltype": "percentItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DebtInstrumentRedemptionPriceBasisSpreadOnTreasuryRate", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage points added to the reference rate to compute the redemption price of the debt instrument.", "label": "Debt Instrument, Redemption Price, Basis Spread on Treasury Rate", "terseLabel": "Basis spread on treasury rate" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentRedemptionPricePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPricePercentage", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Redemption Price, Percentage", "terseLabel": "Redemption price as a percentage of principal", "documentation": "Percentage price of original principal amount of debt at which debt can be redeemed by the issuer." } } }, "auth_ref": [ "r16" ] }, "us-gaap_DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentRedemptionPricePercentageOfPrincipalAmountRedeemed", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Redemption Price, Percentage of Principal Amount Redeemed", "terseLabel": "Redemption price, percentage of principal amount redeemed", "documentation": "Percentage of principal amount of debt redeemed." } } }, "auth_ref": [] }, "bld_DebtInstrumentReferenceRateMaturityPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DebtInstrumentReferenceRateMaturityPeriod", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "The maturity of the reference rate.", "label": "Debt Instrument Reference Rate Maturity Period", "terseLabel": "Maturity of the reference rate" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "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": [ "r26", "r52", "r53", "r71", "r72", "r74", "r76", "r109", "r110", "r164", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r287", "r288", "r289", "r416", "r551", "r552", "r553", "r554", "r555", "r674" ] }, "us-gaap_DebtInstrumentTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTerm", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Term", "terseLabel": "Debt term", "documentation": "Period of time between issuance and maturity of debt instrument, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_DeferredFinanceCostsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFinanceCostsNet", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Finance Costs, Net", "negatedLabel": "Unamortized debt issuance costs", "documentation": "Amount, after accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r73", "r704" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Net, Noncurrent", "terseLabel": "Deferred tax liabilities, net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r360", "r361", "r439" ] }, "bld_DelayedDrawTermLoanFacilityOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DelayedDrawTermLoanFacilityOneMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the delayed draw term loan facility, one.", "label": "Delayed Draw Term Loan Facility One [Member]", "terseLabel": "Term Facility One" } } }, "auth_ref": [] }, "bld_DelayedDrawTermLoanFacilityTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DelayedDrawTermLoanFacilityTwoMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the delayed draw term loan facility, two.", "label": "Delayed Draw Term Loan Facility Two [Member]", "terseLabel": "Term Facility Two" } } }, "auth_ref": [] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization", "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": [ "r8", "r201" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Revenue Recognition", "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": [ "r307", "r557", "r558", "r559", "r560", "r561", "r562", "r563" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "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": [ "r307", "r557", "r558", "r559", "r560", "r561", "r562", "r563" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of revenues disaggregated by market and product", "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": [ "r706" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "terseLabel": "Share-Based Compensation", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r319", "r323", "r351", "r352", "r354", "r570" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "label": "Share-Based Compensation." } } }, "auth_ref": [] }, "bld_DistributionSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "DistributionSegmentMember", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails", "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails", "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the distribution segment of the reporting entity.", "label": "Specialty Distribution" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.topbuild.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.topbuild.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.topbuild.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.topbuild.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": [ "r592" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.topbuild.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": [ "r625" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.topbuild.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": [] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Net Income Per Share", "verboseLabel": "Net income per common share:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Basic", "verboseLabel": "Basic net income per common 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": [ "r155", "r170", "r171", "r172", "r173", "r174", "r180", "r182", "r184", "r185", "r186", "r190", "r390", "r391", "r436", "r451", "r546" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted", "verboseLabel": "Diluted net income per common 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": [ "r155", "r170", "r171", "r172", "r173", "r174", "r182", "r184", "r185", "r186", "r190", "r390", "r391", "r436", "r451", "r546" ] }, "us-gaap_EarningsPerShareReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareReconciliationAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic and Diluted, Other Disclosures [Abstract]", "verboseLabel": "Weighted average shares outstanding:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShare" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Text Block]", "terseLabel": "Net Income Per Share", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r179", "r187", "r188", "r189" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Impact of exchange rate changes on cash", "verboseLabel": "Impact of exchange rate changes on 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": [ "r404" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.topbuild.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective tax rate (as a percent)", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r363" ] }, "bld_EliminationsAndReconcilingItemsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "EliminationsAndReconcilingItemsMember", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails", "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Eliminating entries used in operating segment consolidation and Items used in reconciling reportable segments' amounts to consolidated amount.", "label": "Eliminations" } } }, "auth_ref": [] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Employee-related Liabilities, Current", "verboseLabel": "Salaries, wages, and bonus/commissions", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r23" ] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]", "terseLabel": "Share-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": [] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized", "totalLabel": "Total unrecognized compensation expense related to unvested awards", "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement." } } }, "auth_ref": [ "r353" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized share-based compensation expense relating to unvested awards", "terseLabel": "Unrecognized share-based compensation expense" } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "terseLabel": "Weighted Average Remaining Compensation Expense Period", "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": [ "r353" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails": { "parentTag": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options", "verboseLabel": "RSAs, Unrecognized Compensation Expense on Unvested Awards", "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r733" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.topbuild.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.topbuild.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.topbuild.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.topbuild.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.topbuild.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": [ "r590" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.topbuild.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.topbuild.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.topbuild.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r590" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.topbuild.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.topbuild.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": [ "r590" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.topbuild.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.topbuild.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": [ "r664" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.topbuild.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": [ "r590" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.topbuild.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": [ "r590" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r590" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.topbuild.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": [ "r590" ] }, "bld_EquipmentNotesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "EquipmentNotesMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "Information relating to equipment notes executed under a Master Loan and Security Agreement with Banc of America Leasing &amp; Capital, LLC.", "label": "Equipment Notes" } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "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": [ "r12", "r127", "r149", "r150", "r151", "r165", "r166", "r167", "r169", "r175", "r177", "r191", "r229", "r230", "r294", "r355", "r356", "r357", "r367", "r368", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r406", "r408", "r409", "r410", "r411", "r412", "r420", "r471", "r472", "r473", "r482", "r532" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r633" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r597", "r608", "r618", "r643" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r594", "r605", "r615", "r640" ] }, "bld_EventOfDefaultScenarioMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "EventOfDefaultScenarioMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "The scenario representing an event of default.", "label": "Event of Default Scenario" } } }, "auth_ref": [] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r639" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" ], "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": [ "r393", "r394", "r398" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r393", "r394", "r398" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" ], "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": [ "r281", "r311", "r312", "r313", "r314", "r315", "r316", "r394", "r424", "r425", "r426", "r552", "r553", "r564", "r565", "r566" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r393", "r394", "r395", "r396", "r399" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Measurements" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurements" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements", "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": [ "r392" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Level 1 fair value measurement", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r281", "r311", "r316", "r394", "r424", "r564", "r565", "r566" ] }, "us-gaap_FairValueInputsQuantitativeInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsQuantitativeInformationAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Transfers Between Level 1 and Level 2, Description and Policy [Abstract]", "terseLabel": "Fair Value on Non-Recurring Basis" } } }, "auth_ref": [] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "label": "Fair Value, Liabilities Measured on Recurring and Nonrecurring Basis [Table Text Block]", "terseLabel": "Schedule of fair value of liabilities", "documentation": "Tabular disclosure of liabilities measured at fair value measured on a recurring or nonrecurring basis. Includes, but is not limited to, fair value measurements recorded and the reasons for the measurements, level within the fair value hierarchy in which the fair value measurements are categorized and transfers between levels 1 and 2." } } }, "auth_ref": [ "r70", "r113" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" ], "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.topbuild.com/role/DisclosureFairValueMeasurementsDetails" ], "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": [ "r281", "r311", "r312", "r313", "r314", "r315", "r316", "r424", "r425", "r426", "r552", "r553", "r564", "r565", "r566" ] }, "us-gaap_FairValueMeasurementsNonrecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsNonrecurringMember", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value on Non-Recurring Basis", "documentation": "Infrequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, not frequently measured at fair value." } } }, "auth_ref": [ "r393", "r394", "r395", "r396", "r397", "r399" ] }, "bld_FederalFundsRateMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "FederalFundsRateMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "The federal funds rate.", "label": "Federal Funds Rate" } } }, "auth_ref": [] }, "us-gaap_FinanceLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Current", "terseLabel": "Short-term finance lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current." } } }, "auth_ref": [ "r418" ] }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Finance Lease, Liability, Noncurrent", "terseLabel": "Long-term finance lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent." } } }, "auth_ref": [ "r418" ] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" ], "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": [ "r134", "r249" ] }, "us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table]", "documentation": "A table containing detailed characteristics of finite-lived intangible assets acquired during a business combination. Finite-lived intangible assets are assets that have no physical form, but have expected future economic benefit, and are expected to be used over a defined period. Acquired finite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the Entity) and in total. Additionally, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period are also disclosed." } } }, "auth_ref": [ "r47" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables" ], "lang": { "en-us": { "role": { "label": "Finite-lived Intangible Assets Amortization Expense [Table Text Block]", "terseLabel": "Schedule of amortization expense", "documentation": "Tabular disclosure of amortization expense of assets, excluding financial assets, that lack physical substance, having a limited useful life." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails" ], "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": [ "r247", "r248", "r249", "r250", "r431", "r432" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Definite-lived intangible assets", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r106", "r432" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsIntangiblesDetails" ], "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": [ "r47", "r49" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 1.0 }, "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails", "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net", "totalLabel": "Other intangible asset, net", "verboseLabel": "Other intangible assets, net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r106", "r431" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r601", "r612", "r622", "r647" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r601", "r612", "r622", "r647" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r601", "r612", "r622", "r647" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r601", "r612", "r622", "r647" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r601", "r612", "r622", "r647" ] }, "us-gaap_GainLossOnDispositionOfAssets1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnDispositionOfAssets1", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Disposition of Assets", "negatedLabel": "(Gain)/loss on sale of assets", "documentation": "Amount of gain (loss) on sale or disposal of assets, including but not limited to property plant and equipment, intangible assets and equity in securities of subsidiaries or equity method investee." } } }, "auth_ref": [ "r673" ] }, "bld_GlassAndWindowsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "GlassAndWindowsMember", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to glass and windows product category.", "label": "Glass and windows" } } }, "auth_ref": [] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails", "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails", "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "terseLabel": "Goodwill", "totalLabel": "Net 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": [ "r133", "r234", "r433", "r550", "r575", "r686", "r693" ] }, "us-gaap_GoodwillAcquiredDuringPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAcquiredDuringPeriod", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Acquired During Period", "terseLabel": "Goodwill recognized", "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination." } } }, "auth_ref": [ "r238", "r550" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Other Intangibles" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "terseLabel": "Goodwill and Other Intangibles", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r104" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Foreign Currency Translation Gain (Loss)", "terseLabel": "Fx Translation Adjustment", "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": [ "r242" ] }, "us-gaap_GoodwillGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillGross", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails": { "parentTag": "us-gaap_Goodwill", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Gross", "periodEndLabel": "Gross Goodwill, at end of period", "periodStartLabel": "Gross Goodwill, at beginning of period", "documentation": "Amount before 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": [ "r237", "r244", "r550" ] }, "us-gaap_GoodwillImpairedAccumulatedImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillImpairedAccumulatedImpairmentLoss", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails": { "parentTag": "us-gaap_Goodwill", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Impaired, Accumulated Impairment Loss", "negatedLabel": "Accumulated Impairment Losses", "documentation": "Amount of accumulated impairment loss for 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": [ "r237", "r244", "r550" ] }, "us-gaap_GoodwillImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" ], "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": [ "r8", "r235", "r241", "r246", "r550" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Line Items]", "terseLabel": "Changes in the carrying amount of goodwill", "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": [ "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r550" ] }, "us-gaap_GoodwillPeriodIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPeriodIncreaseDecrease", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Period Increase (Decrease)", "terseLabel": "Additions", "documentation": "Amount of increase (decrease) of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r685" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r91", "r162", "r196", "r210", "r216", "r219", "r228", "r260", "r261", "r263", "r264", "r265", "r267", "r269", "r271", "r272", "r401", "r548", "r701" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureSegmentInformationDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "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", "r88", "r119", "r196", "r210", "r216", "r219", "r437", "r446", "r548" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF OPERATIONS" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Taxes" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes", "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": [ "r163", "r359", "r364", "r365", "r366", "r369", "r371", "r372", "r373", "r480" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "negatedLabel": "Income tax expense", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r122", "r124", "r176", "r177", "r204", "r362", "r370", "r452" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Receivables, net", "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": [ "r7" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Liabilities", "terseLabel": "Accrued liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 13.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Deferred Income Taxes", "negatedLabel": "Deferred income taxes, net", "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories", "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Change in certain assets and liabilities:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards": { "xbrltype": "sharesItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards", "calculation": { "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" ], "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of restricted stock awards using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Restricted Stock Awards", "terseLabel": "Restricted stock awards" } } }, "auth_ref": [] }, "bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions": { "xbrltype": "sharesItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions", "calculation": { "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" ], "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of stock options using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Stock Options", "terseLabel": "Stock options" } } }, "auth_ref": [] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r604", "r612", "r622", "r639", "r647", "r651", "r659" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r657" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r593", "r663" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r593", "r663" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r593", "r663" ] }, "bld_InstallationSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "InstallationSegmentMember", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails", "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails", "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the installation segment of the reporting entity.", "label": "Installation" } } }, "auth_ref": [] }, "bld_InsulationAndAccessoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "InsulationAndAccessoriesMember", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to the insulation and accessories product.", "label": "Insulation and accessories" } } }, "auth_ref": [] }, "bld_InsulationWorksIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "InsulationWorksIncMember", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Insulation Works, Inc.", "label": "Insulation Works, Inc [Member]", "terseLabel": "Insulation Works Inc." } } }, "auth_ref": [] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "totalLabel": "Other intangible asset, 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": [ "r45", "r48" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwillAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net [Abstract]", "terseLabel": "Other intangible assets" } } }, "auth_ref": [] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Interest Expense", "negatedLabel": "Interest expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r73", "r121", "r152", "r200", "r414", "r517", "r586", "r750" ] }, "us-gaap_InterestPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPayableCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Interest Payable, Current", "terseLabel": "Interest payable on long-term debt", "documentation": "Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r23" ] }, "us-gaap_IntersegmentEliminationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntersegmentEliminationMember", "presentation": [ "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Intercompany Eliminations", "documentation": "Eliminating entries used in operating segment consolidation." } } }, "auth_ref": [ "r198", "r209", "r210", "r211", "r212", "r213", "r215", "r219" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Inventory, Net", "terseLabel": "Inventories", "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r142", "r545", "r575" ] }, "us-gaap_InventoryWriteDown": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWriteDown", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Inventory Write-down", "terseLabel": "Provision for inventory obsolescence", "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels." } } }, "auth_ref": [ "r233" ] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails": { "parentTag": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Letters of Credit Outstanding, Amount", "negatedLabel": "Less: standby letters of credit", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r22", "r162", "r228", "r260", "r261", "r263", "r264", "r265", "r267", "r269", "r271", "r272", "r378", "r381", "r382", "r401", "r492", "r547", "r588", "r701", "r738", "r739" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities and equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r86", "r118", "r445", "r575", "r675", "r684", "r737" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND EQUITY" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r24", "r131", "r162", "r228", "r260", "r261", "r263", "r264", "r265", "r267", "r269", "r271", "r272", "r378", "r381", "r382", "r401", "r575", "r701", "r738", "r739" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "auth_ref": [] }, "bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "LicenseAndInsuranceRelatedAndOtherBondsOutstanding", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails": { "parentTag": "bld_BondsOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount of other type of bonds outstanding, principally license and insurance related.", "label": "License and Insurance Related And Other Bonds Outstanding", "terseLabel": "Licensing, insurance, and other bonds" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityCurrentBorrowingCapacity", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails": { "parentTag": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Current Borrowing Capacity", "terseLabel": "Availability under revolving facility", "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility." } } }, "auth_ref": [ "r21" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "totalLabel": "Revolving Facility", "verboseLabel": "Availability", "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": [ "r21" ] }, "bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "LineOfCreditFacilitySublimitAvailableForLettersOfCredit", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the sublimit available for the issuance of letters of credit under the credit facility.", "label": "Line of Credit Facility Sublimit Available for Letters of Credit", "verboseLabel": "Sublimit for issuance of letters of credit under Revolving Facility*" } } }, "auth_ref": [] }, "bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "LineOfCreditFacilitySublimitAvailableForSwinglineLoans", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the sublimit available for swingline loans under the credit facility.", "label": "Line of Credit Facility Sublimit Available for Swingline Loans", "verboseLabel": "Sublimit for swingline loans under Revolving Facility*" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility [Table]", "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line." } } }, "auth_ref": [ "r21", "r674" ] }, "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage", "terseLabel": "Commitment fee (as a percent)", "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility." } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.topbuild.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", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetailsCalc2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt.", "totalLabel": "Total debt, net of unamortized debt issuance costs", "verboseLabel": "Amount outstanding", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r19", "r117", "r280", "r291", "r552", "r553", "r746" ] }, "us-gaap_LongTermDebtByMaturityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtByMaturityAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Fiscal Year Maturity [Abstract]", "terseLabel": "Schedule of Debt Maturity by Years:" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetailsCalc2": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 }, "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Current Maturities", "terseLabel": "Current portion of long-term debt", "verboseLabel": "Less: current portion of long-term debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r137" ] }, "bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": { "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Long-term Debt, Maturities, Repayments of Principal after Year Four", "terseLabel": "Thereafter" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": { "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months", "terseLabel": "2025", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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": [ "r9", "r164", "r284" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": { "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Maturities, Repayments of Principal in Year Two", "terseLabel": "2026", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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": [ "r9", "r164", "r284" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails": { "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Maturities, Repayments of Principal, Remainder of Fiscal Year", "terseLabel": "2024", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in remainder of current fiscal year." } } }, "auth_ref": [ "r676" ] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 }, "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetailsCalc2": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt", "verboseLabel": "Total long-term debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r138" ] }, "us-gaap_LongTermDebtOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtOtherDisclosuresAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Other Disclosures [Abstract]", "terseLabel": "Debt covenants" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebt" ], "lang": { "en-us": { "role": { "label": "Long-term Debt [Text Block]", "terseLabel": "Long-Term Debt", "documentation": "The entire disclosure for long-term debt." } } }, "auth_ref": [ "r108" ] }, "bld_LongTermIncentivePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "LongTermIncentivePlanMember", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information related to the 2015 plan.", "label": "2015 Plan" } } }, "auth_ref": [] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r26" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Type [Domain]", "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. 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": [ "r26", "r51" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "auth_ref": [ "r224", "r559", "r706", "r747", "r748" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Maximum" } } }, "auth_ref": [ "r256", "r257", "r258", "r259", "r317", "r428", "r470", "r484", "r485", "r535", "r536", "r537", "r538", "r539", "r541", "r542", "r549", "r556", "r569", "r577", "r703", "r740", "r741", "r742", "r743", "r744", "r745" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r631" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r631" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Minimum" } } }, "auth_ref": [ "r256", "r257", "r258", "r259", "r317", "r428", "r470", "r484", "r485", "r535", "r536", "r537", "r538", "r539", "r541", "r542", "r549", "r556", "r569", "r577", "r703", "r740", "r741", "r742", "r743", "r744", "r745" ] }, "bld_MinimumPercentageOfDebtImmediatelyDueAndPayable": { "xbrltype": "percentItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "MinimumPercentageOfDebtImmediatelyDueAndPayable", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "The percentage of debtholders needed to declare outstanding principal and accrued interest, if any, immediately due and payable upon an event of default.", "label": "Minimum Percentage of Debt Immediately Due and Payable", "terseLabel": "Minimum percentage of principal of debt holders to declare debt immediately due and payable" } } }, "auth_ref": [] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r650" ] }, "bld_MorrisBlackMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "MorrisBlackMember", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Morris Black, a residential insulation business.", "label": "Morris Black [Member]", "terseLabel": "Morris Black" } } }, "auth_ref": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r658" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "auth_ref": [ "r224", "r559", "r706", "r747", "r748" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r632" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations", "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": [ "r159" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash Flows Provided by (Used in) Financing Activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations", "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": [ "r159" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash Flows Provided by (Used in) Investing Activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations", "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": [ "r98", "r99", "r100" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash Flows Provided by (Used in) Operating Activities:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfComprehensiveIncome", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "verboseLabel": "Net income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r89", "r100", "r120", "r129", "r144", "r147", "r151", "r162", "r168", "r170", "r171", "r172", "r173", "r176", "r177", "r183", "r196", "r210", "r216", "r219", "r228", "r260", "r261", "r263", "r264", "r265", "r267", "r269", "r271", "r272", "r391", "r401", "r448", "r514", "r530", "r531", "r548", "r586", "r701" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "verboseLabel": "Recently Adopted and 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": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r631" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r601", "r612", "r622", "r639", "r647" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r629" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r628" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r639" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r658" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r658" ] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureSegmentInformationDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense)", "totalLabel": "Other expense, net", "verboseLabel": "Other expense, net", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r94" ] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other income (expense), net:" } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.topbuild.com/role/DisclosureBasisOfPresentationDetails" ], "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_NumberOfReportingUnits": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportingUnits", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reporting Units", "terseLabel": "Number of reporting units", "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment." } } }, "auth_ref": [] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Expenses", "terseLabel": "General corporate expense, net", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureSegmentInformationDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "Operating profit", "verboseLabel": "Operating profit as, reported", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r196", "r210", "r216", "r219", "r548" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Short-term operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r418" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Long-term operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r418" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right of use assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r417" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails", "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Operating Segment", "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r209", "r210", "r211", "r212", "r213", "r219" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Basis of Presentation" } } }, "auth_ref": [] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails": { "parentTag": "bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Other Accrued Liabilities, Current", "terseLabel": "Other", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r23" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r135" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Gain (Loss) Arising During Period, Net of Tax", "verboseLabel": "Foreign currency translation adjustment", "documentation": "Amount after tax, before 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": [ "r5", "r87", "r402", "r403", "r405" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Other comprehensive income (loss), net of tax", "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss)." } } }, "auth_ref": [ "r12", "r18", "r145", "r148", "r153", "r406", "r407", "r412", "r434", "r449", "r670", "r671" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Net of Tax [Abstract]", "terseLabel": "Other comprehensive (loss) income:" } } }, "auth_ref": [] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r27" ] }, "us-gaap_OtherNoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Noncash Investing and Financing Items [Abstract]", "terseLabel": "Supplemental disclosure of noncash activities:" } } }, "auth_ref": [] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other, net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r95" ] }, "us-gaap_OtherOperatingActivitiesCashFlowStatement": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherOperatingActivitiesCashFlowStatement", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Operating Activities, Cash Flow Statement", "terseLabel": "Other, net", "documentation": "Other cash or noncash adjustments to reconcile net income to cash provided by (used in) operating activities that are not separately disclosed in the statement of cash flows (for example, cash received or cash paid during the current period for miscellaneous operating activities, net change during the reporting period in other assets or other liabilities)." } } }, "auth_ref": [] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r631" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r599", "r610", "r620", "r645" ] }, "bld_OutstandingBondsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "OutstandingBondsAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Outstanding Bonds [Abstract]", "terseLabel": "Outstanding Bonds" } } }, "auth_ref": [] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r602", "r613", "r623", "r648" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r602", "r613", "r623", "r648" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r627" ] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "label": "Accrued Liabilities." } } }, "auth_ref": [] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Taxes withheld and paid on employees' equity awards", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r157" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedTerseLabel": "Acquisition of businesses, net of cash acquired", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r34" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property 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": [ "r97" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r630" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r630" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r629" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r639" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r632" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r628" ] }, "bld_PerformanceBondsOutstanding": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "PerformanceBondsOutstanding", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails": { "parentTag": "bld_BondsOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount of performance bonds outstanding.", "label": "Performance Bonds Outstanding", "terseLabel": "Performance bonds" } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "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", "r732" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "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", "r732" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Par or Stated Value Per Share", "terseLabel": "Preferred stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r80", "r293" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Authorized", "terseLabel": "Preferred stock, shares authorized", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r80", "r494" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Issued", "terseLabel": "Preferred stock, shares, issued", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r80", "r293" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares, outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r80", "r494", "r512", "r751", "r752" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Value, Issued", "terseLabel": "Preferred stock, $0.01 par value: 10,000,000 shares authorized; 0 shares issued and outstanding", "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r80", "r441", "r575" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r669" ] }, "us-gaap_ProceedsFromSaleOfProductiveAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfProductiveAssets", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale of Productive Assets", "terseLabel": "Proceeds from sale of assets", "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets." } } }, "auth_ref": [ "r96" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Stock Options Exercised", "terseLabel": "Exercise of stock options", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r6", "r15" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "label": "Products and Services [Axis]" } } }, "auth_ref": [ "r221", "r430", "r464", "r465", "r466", "r467", "r468", "r469", "r543", "r557", "r576", "r668", "r699", "r700", "r706", "r747" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "label": "Products and Services [Domain]" } } }, "auth_ref": [ "r221", "r430", "r464", "r465", "r466", "r467", "r468", "r469", "r543", "r557", "r576", "r668", "r699", "r700", "r706", "r747" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r129", "r144", "r147", "r158", "r162", "r168", "r176", "r177", "r196", "r210", "r216", "r219", "r228", "r260", "r261", "r263", "r264", "r265", "r267", "r269", "r271", "r272", "r376", "r379", "r380", "r391", "r401", "r437", "r447", "r481", "r514", "r530", "r531", "r548", "r572", "r573", "r587", "r672", "r701" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization", "terseLabel": "Property and equipment, net", "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r667", "r696" ] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Provision for Doubtful Accounts", "terseLabel": "Provision for bad debt expense", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r156", "r232" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r627" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r627" ] }, "bld_RainGuttersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "RainGuttersMember", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to Rain gutter product.", "label": "Gutters" } } }, "auth_ref": [] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "auth_ref": [ "r256", "r257", "r258", "r259", "r310", "r317", "r346", "r347", "r348", "r427", "r428", "r470", "r484", "r485", "r535", "r536", "r537", "r538", "r539", "r541", "r542", "r549", "r556", "r569", "r577", "r580", "r697", "r703", "r741", "r742", "r743", "r744", "r745" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Range [Domain]" } } }, "auth_ref": [ "r256", "r257", "r258", "r259", "r310", "r317", "r346", "r347", "r348", "r427", "r428", "r470", "r484", "r485", "r535", "r536", "r537", "r538", "r539", "r541", "r542", "r549", "r556", "r569", "r577", "r580", "r697", "r703", "r741", "r742", "r743", "r744", "r745" ] }, "bld_ReceivablesNetMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ReceivablesNetMember", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold, net of allowance for doubtful accounts.", "label": "Receivables, net" } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r594", "r605", "r615", "r640" ] }, "us-gaap_RepaymentsOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLongTermDebt", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Long-term Debt", "negatedLabel": "Repayment of long-term debt", "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r35", "r478" ] }, "bld_ResidentialMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ResidentialMember", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the residential market.", "label": "Residential" } } }, "auth_ref": [] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r595", "r606", "r616", "r641" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r596", "r607", "r617", "r642" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r603", "r614", "r624", "r649" ] }, "bld_RestrictedStockAwardsGrantedFebruary2021Member": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "RestrictedStockAwardsGrantedFebruary2021Member", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to restricted stock awards granted on February 16, 2021.", "label": "Restricted Stock Awards Granted February 2021 [Member]", "terseLabel": "RSAs granted February 16, 2021" } } }, "auth_ref": [] }, "us-gaap_RestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockMember", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Awards", "documentation": "Stock including a provision that prohibits sale or substantive sale of an equity instrument for a specified period of time or until specified performance conditions are met." } } }, "auth_ref": [ "r40" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r83", "r111", "r444", "r474", "r476", "r479", "r495", "r575" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r127", "r165", "r166", "r167", "r169", "r175", "r177", "r229", "r230", "r355", "r356", "r357", "r367", "r368", "r383", "r385", "r386", "r388", "r389", "r471", "r473", "r482", "r751" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue Recognition" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails", "http://www.topbuild.com/role/DisclosureSegmentInformationDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Revenues", "terseLabel": "Net sales", "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": [ "r197", "r198", "r209", "r214", "r215", "r221", "r223", "r224", "r306", "r307", "r430" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognition" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Revenue Recognition", "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": [ "r126", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r309" ] }, "us-gaap_RevenuePerformanceObligationSatisfiedOverTimeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenuePerformanceObligationSatisfiedOverTimeAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Performance Obligation Satisfied over Time [Abstract]", "terseLabel": "Uncompleted Performance Obligations" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Amount remaining on uncompleted performance obligations", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r123" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionExplanation", "presentation": [ "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Explanation", "terseLabel": "Expected timing of satisfaction of performance obligations", "documentation": "Description of when remaining performance obligation is expected to be recognized as revenue." } } }, "auth_ref": [ "r304" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Revolving 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.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "Leased assets obtained in exchange for new operating lease liabilities", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r419", "r574" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r658" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r658" ] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Scenario, Unspecified [Domain]" } } }, "auth_ref": [ "r178", "r318", "r665", "r680" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of components of accrued liabilities", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of finite lived and indefinite lived intangible assets.", "label": "Schedule of Acquired Finite-Lived and Indefinite-Lived Intangible Asset [Table Text Block]", "terseLabel": "Schedule of other intangible assets" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities." } } }, "auth_ref": [ "r40" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "terseLabel": "Summary of shares excluded from the calculation of diluted income per share because their effect would have been anti-dilutive", "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities." } } }, "auth_ref": [ "r40" ] }, "bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtTables" ], "lang": { "en-us": { "role": { "documentation": "Represents tabular information about the availability under the Revolving Facility.", "label": "Schedule of Availability Under Revolving Facility [Table Text Block]", "terseLabel": "Schedule of availability under the Revolving Facility" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "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": [ "r62", "r63", "r374" ] }, "us-gaap_ScheduleOfDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDebtTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Debt [Table Text Block]", "terseLabel": "Reconciliation of principal balance of outstanding debt", "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of basic and diluted income per share", "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.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [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": [ "r58" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table]", "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons." } } }, "auth_ref": [ "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r550" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Changes in the carrying amount of goodwill by segment", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r550", "r685", "r686", "r687", "r688", "r689", "r690", "r691", "r692", "r693", "r694", "r695" ] }, "bld_ScheduleOfKeyFinancialCovenantsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ScheduleOfKeyFinancialCovenantsTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtTables" ], "lang": { "en-us": { "role": { "documentation": "Represents tabular information about the key financial covenants.", "label": "Schedule of Key Financial Covenants [Table Text Block]", "terseLabel": "Schedule of the key financial covenants" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Maturities of Long-term Debt [Table Text Block]", "verboseLabel": "Schedule of remaining principal payments of debt", "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt." } } }, "auth_ref": [ "r9" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r41", "r42", "r43", "r44" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureSegmentInformationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of net sales and operating results by segment", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r41", "r42", "r43", "r44" ] }, "us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationActivityTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation, Activity [Table Text Block]", "terseLabel": "Schedule of share-based compensation activity", "documentation": "Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value." } } }, "auth_ref": [ "r13", "r14", "r57" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "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": [ "r320", "r322", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349" ] }, "bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ScheduleOfShareBasedCompensationExpenseTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of share-based compensation expense.", "label": "Schedule Of Share Based Compensation Expense Table Text Block", "terseLabel": "Schedule of share-based compensation expense and related income tax benefit" } } }, "auth_ref": [] }, "bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of awards, other than options, including, but not limited to: (a) expected term, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Other Than Options, Valuation Assumptions [Table Text Block]", "terseLabel": "Schedule of key inputs used to estimate the fair value of awards" } } }, "auth_ref": [] }, "bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of restricted stock awards with performance-based conditions relating to the grant date fair value, payout range and related expenses.", "label": "Schedule of Share-based Payment Award, Restricted Stock Awards, Payout Range and Related Expense [Table Text Block]", "terseLabel": "Schedule of the range of payouts and the related expense for RSAs with performance-based conditions" } } }, "auth_ref": [] }, "bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards": { "xbrltype": "textBlockItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of unrecognized share-based compensation expense related to unvested awards.", "label": "Schedule of Unrecognized Share-based Compensation Expense, Nonvested Awards", "terseLabel": "Schedule of unrecognized share-based compensation expense relating to unvested awards" } } }, "auth_ref": [] }, "us-gaap_SecuredDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredDebtMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Term Loan Facility", "documentation": "Collateralized debt obligation backed by, for example, but not limited to, pledge, mortgage or other lien on the entity's assets." } } }, "auth_ref": [] }, "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "lang": { "en-us": { "role": { "label": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]", "terseLabel": "SOFR", "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap that has its variable-rate leg referenced to Secured Overnight Financing Rate (SOFR) with no additional spread over SOFR on variable-rate leg." } } }, "auth_ref": [ "r734" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r589" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r591" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails", "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails", "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Domain]", "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity." } } }, "auth_ref": [ "r193", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r219", "r224", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r252", "r253", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r550", "r668", "r747" ] }, "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.topbuild.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": [ "r192", "r193", "r194", "r195", "r196", "r208", "r213", "r217", "r218", "r219", "r220", "r221", "r222", "r224" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment 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_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general, and administrative expense", "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc." } } }, "auth_ref": [ "r93" ] }, "bld_SeniorNotesDue2029Member": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "SeniorNotesDue2029Member", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the 3.625% Senior Notes due 2029.", "label": "3.625% Senior Notes" } } }, "auth_ref": [] }, "bld_SeniorNotesDue2032Member": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "SeniorNotesDue2032Member", "presentation": [ "http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the 4.125% Senior Notes due 2032.", "label": "4.125% Senior Notes" } } }, "auth_ref": [] }, "us-gaap_SeniorNotesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SeniorNotesMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails" ], "lang": { "en-us": { "role": { "label": "Senior Notes", "documentation": "Bond that takes priority over other debt securities sold by the issuer. In the event the issuer goes bankrupt, senior debt holders receive priority for (must receive) repayment prior to (relative to) junior and unsecured (general) creditors." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation", "terseLabel": "Share-based compensation", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r7" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAdditionalDisclosuresAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Additional Disclosures [Abstract]", "terseLabel": "Restricted stock awards, additional disclosures" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were converted/exercised during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Converted, Exercised in Period", "negatedLabel": "Converted/Exercised (in shares)" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were converted/exercised.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Converted, Exercised, Weighted Average Grant Date Fair Value", "terseLabel": "Converted/Exercised (in dollars per share)" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited or expired during the reporting period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited or Expired in Period", "negatedLabel": "Forfeited/Expired (in shares)" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were forfeited or expired.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited or Expired, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited/Expired (in dollars per share)" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted (in shares)", "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": [ "r338" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted (in dollars per share)", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r338" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Balance at end of period (in shares)", "periodStartLabel": "Balance at beginning of period (in shares)", "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": [ "r335", "r336" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "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]", "terseLabel": "Restricted Stock Awards, 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.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "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": "Balance at end of period (in dollars per share)", "periodStartLabel": "Balance at beginning of period (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": [ "r335", "r336" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "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]", "terseLabel": "Restricted Stock Awards, Weighted Average Grant Date Fair Value Per Share" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsAndMethodologyAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions and Methodology [Abstract]", "terseLabel": "Assumptions used to estimate the fair values of the awards granted:" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted": { "xbrltype": "perShareItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the estimated fair value of the awards granted.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Fair Value Assumptions Estimated Fair Value Of Awards Granted", "verboseLabel": "Estimated fair value of market-based RSAs at grant date (in dollars per share)" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Dividend yield (as a percent)", "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term." } } }, "auth_ref": [ "r347" ] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "The remaining measurement period of share-based compensation awards, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Remaining Measurement Period", "terseLabel": "Measurement period (years)" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Risk free interest rate (as a percent)", "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [ "r348" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Share-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": [ "r320", "r322", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares authorized", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r571" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares available", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r56" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Additional Disclosures [Abstract]", "terseLabel": "Stock options, additional disclosures" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Weighted average grant-date fair value of options converted/exercised.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Converted, Exercised, Weighted Average Grant Date Fair Value", "terseLabel": "Converted/Exercised (in dollars per share)" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number", "terseLabel": "Exercisable, Number of shares", "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": [ "r329" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "terseLabel": "Exercisable Weighted Average Exercise Price 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": [ "r329" ] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Grant Date Fair Value.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercisable Weighted Average Grant Date Fair Value", "terseLabel": "Exercisable, Weighted Average Grant Date Fair Value Per Share" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value", "terseLabel": "Converted/Exercised aggregate 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": [ "r342" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value", "terseLabel": "Aggregate intrinsic value", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r56" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Balance at end of period (in shares)", "periodStartLabel": "Balance at beginning of period (in shares)", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r327", "r328" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Stock Options, 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Balance at end of period (in dollars per share)", "periodStartLabel": "Balance at beginning of period (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": [ "r327", "r328" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]", "terseLabel": "Stock Options, Weighted Average Exercise Price Per Share" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement": { "xbrltype": "durationItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "The cumulative period of achievement related to restricted stock awards with performance conditions.", "label": "Share-based Compensation Arrangement By Share-based Payment Award Other Than Options Grants, Cumulative Period of Achievement", "terseLabel": "Cumulative period of achievement" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "The cumulative three-year achievement percentage related to the restricted stock awards with performance conditions.", "label": "Share-based Compensation Arrangement By Share-based Payment Award Other Than Options Grants, Cumulative Period of Achievement Percentage", "terseLabel": "Cumulative achievement percentage" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the total fair value of equity-based awards, other then options, granted during the reporting period.", "label": "Share Based Compensation Arrangement By Share Based Payment Award Other Than Options Grants In Period Total Grant Date Fair Value", "terseLabel": "Grant date fair value" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "The total compensation expense recognized over the performance period, net of forfeitures, related to the restricted stock awards with performance conditions.", "label": "Share-based Compensation Arrangement By Share-based Payment Award Other Than Options Grants, Total Compensation Expense Recognized Over Performance Period", "terseLabel": "Total compensation expense recognized over the performance period, net of forfeitures" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Information relating to payout ranges of the share-based compensation awards.", "label": "Share-based Compensation Arrangement by Share-based Payment Award Payout Range [Axis]" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Identification of the payout ranges of the share-based compensation awards.", "label": "Share-based Compensation Arrangement by Share-based Payment Award Payout Range [Domain]" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Range four of the payout range related to performance-based awards.", "label": "Payout Range-200%" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Range one of the payout range related to performance-based awards.", "label": "Payout Range-0%" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "The payout range expressed as a percentage of the grant date fair value related to performance-based awards.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Payout Range Percentage", "terseLabel": "Payout range (as a percent)" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "The compensation expense based on the payout range related to performance-based awards.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Payout Range Related Expenses", "terseLabel": "Related expenses" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Range three of the payout range related to performance-based awards.", "label": "Payout Range-100%" } } }, "auth_ref": [] }, "bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "documentation": "Range two of the payout range related to performance-based awards.", "label": "Payout Range-25%" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Converted/Exercised (in dollars per share)", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r332" ] }, "bld_ShareBasedPaymentArrangementExpenseTaxExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareBasedPaymentArrangementExpenseTaxExpense", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureIncomeTaxesDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of tax expense for recognition of expense of award under share-based payment arrangement.", "label": "Share-Based Payment Arrangement, Expense, Tax Expense", "negatedLabel": "Income tax expense", "terseLabel": "Tax expense related to share-based compensation" } } }, "auth_ref": [] }, "bld_ShareRepurchaseProgram2024Member": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "ShareRepurchaseProgram2024Member", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the 2024 Share Repurchase Program.", "label": "Share Repurchase Program 2024 [Member]", "terseLabel": "2024 Share Repurchase Program" } } }, "auth_ref": [] }, "us-gaap_ShareRepurchaseProgramAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareRepurchaseProgramAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program [Axis]", "documentation": "Information by share repurchase program." } } }, "auth_ref": [] }, "us-gaap_ShareRepurchaseProgramDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareRepurchaseProgramDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program [Domain]", "documentation": "Name of the share repurchase program." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "crdr": "debit", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value", "terseLabel": "Exercisable, Aggregate Intrinsic Value", "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": [ "r56" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Balance at end of period (in dollars per share)", "periodStartLabel": "Balance at beginning of period (in dollars per share)", "documentation": "Weighted average grant-date fair value of non-vested options outstanding." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValueAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Stock Options, Weighted Average Grant Date Fair Value Per Share" } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term", "terseLabel": "Weighted average remaining contractual term for vested stock options", "documentation": "Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the 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": [ "r344" ] }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquityParenthetical" ], "lang": { "en-us": { "role": { "label": "Shares Paid for Tax Withholding for Share Based Compensation", "terseLabel": "Number of shares withheld to pay taxes on employees' equity awards (in shares)", "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Accounting Policies", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r101", "r161" ] }, "bld_SofrRateBorrowingsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "SofrRateBorrowingsMember", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information relating to SOFR rate borrowings.", "label": "SOFR Rate Borrowings [Member]", "terseLabel": "SOFR Rate Borrowings" } } }, "auth_ref": [] }, "bld_SpiMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "SpiMember", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to SPI.", "label": "SPI" } } }, "auth_ref": [] }, "bld_SriHoldingsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "SriHoldingsMember", "presentation": [ "http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to SRI Holdings, LLC.", "label": "SRI Holdings" } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails", "http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails", "http://www.topbuild.com/role/DisclosureSegmentInformationDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r128", "r193", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r209", "r210", "r211", "r212", "r213", "r214", "r215", "r216", "r217", "r219", "r224", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r251", "r252", "r253", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r550", "r668", "r747" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r12", "r29", "r127", "r149", "r150", "r151", "r165", "r166", "r167", "r169", "r175", "r177", "r191", "r229", "r230", "r294", "r355", "r356", "r357", "r367", "r368", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r406", "r408", "r409", "r410", "r411", "r412", "r420", "r471", "r472", "r473", "r482", "r532" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "terseLabel": "Statement", "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": [ "r165", "r166", "r167", "r191", "r430", "r477", "r483", "r486", "r487", "r488", "r489", "r490", "r491", "r494", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r507", "r508", "r509", "r510", "r511", "r513", "r515", "r516", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r532", "r581" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" } } }, "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 CHANGES IN EQUITY" } } }, "auth_ref": [] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementScenarioAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails", "http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "auth_ref": [ "r178", "r318", "r665", "r666", "r680" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "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": [ "r165", "r166", "r167", "r191", "r430", "r477", "r483", "r486", "r487", "r488", "r489", "r490", "r491", "r494", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r507", "r508", "r509", "r510", "r511", "r513", "r515", "r516", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r532", "r581" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r598", "r609", "r619", "r644" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquityParenthetical" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross", "terseLabel": "Issuance of restricted share awards under long-term equity incentive plan, net of forfeitures (in shares)", "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards." } } }, "auth_ref": [ "r12", "r111" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquityParenthetical" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedLabel": "Converted/Exercised (in shares)", "terseLabel": "Shares issued upon exercise of stock options (in shares)", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r12", "r80", "r81", "r111", "r332" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross", "terseLabel": "Issuance of restricted share awards under long-term equity incentive plan", "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period." } } }, "auth_ref": [ "r12", "r80", "r81", "r111" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures", "terseLabel": "Issuance of restricted share awards under long-term equity incentive plan, net of forfeitures", "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited." } } }, "auth_ref": [ "r12", "r111" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Shares issued upon exercise of stock options", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r12", "r29", "r111" ] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Share repurchase program, authorized amount", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r81", "r84", "r85", "r103", "r496", "r512", "r533", "r534", "r575", "r588", "r675", "r684", "r737", "r751" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Equity:" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventLineItems", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Line Items]", "terseLabel": "Subsequent Events", "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event." } } }, "auth_ref": [ "r413", "r422" ] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r413", "r422" ] }, "us-gaap_SubsequentEventTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTable", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Table]", "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued." } } }, "auth_ref": [ "r413", "r422" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r413", "r422" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEventsDetails" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r413", "r422" ] }, "us-gaap_SubsequentEventsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsAbstract", "lang": { "en-us": { "role": { "label": "Subsequent Events" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureSubsequentEvents" ], "lang": { "en-us": { "role": { "label": "Subsequent Events [Text Block]", "terseLabel": "Subsequent Events", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r421", "r423" ] }, "bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "SummaryOfKeyTermsOfCreditAgreementTableTextBlock", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtTables" ], "lang": { "en-us": { "role": { "documentation": "Represents tabular information about the key terms of the Credit Agreement.", "label": "Summary of The Key Terms of Credit Agreement [Table Text Block]", "terseLabel": "Summary of key terms of the Credit Agreement" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r638" ] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r630" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r637" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r657" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r659" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.topbuild.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r660" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r661" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r659" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r659" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r662" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r660" ] }, "us-gaap_TreasuryStockCommonMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonMember", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedStatementsOfChangesInShareholdersEquity" ], "lang": { "en-us": { "role": { "label": "Treasury Stock at Cost", "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r54" ] }, "us-gaap_TreasuryStockCommonShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonShares", "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Shares", "terseLabel": "Treasury stock, shares at cost", "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r54" ] }, "us-gaap_TreasuryStockCommonValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonValue", "crdr": "debit", "calculation": { "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.topbuild.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Value", "negatedLabel": "Treasury stock, 7,730,931 shares at March 31, 2024, and 7,715,998 shares at December 31, 2023, at cost", "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r30", "r54", "r55" ] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r656" ] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "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.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" ], "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": [] }, "bld_VestingBasedOnMarketConditionsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "VestingBasedOnMarketConditionsMember", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails", "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents a share based compensation award with vesting based on market conditions.", "label": "Market-based conditions" } } }, "auth_ref": [] }, "bld_VestingBasedOnPerformanceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "VestingBasedOnPerformanceMember", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "documentation": "Represents a share based compensation award with vesting based on achievement of performance conditions.", "label": "Performance-based conditions" } } }, "auth_ref": [] }, "bld_VestingBasedOnServiceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "VestingBasedOnServiceMember", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails", "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents a share based compensation award with vesting based on length of service.", "label": "Service-based conditions" } } }, "auth_ref": [] }, "bld_VestingCriteriaAxis": { "xbrltype": "stringItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "VestingCriteriaAxis", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails", "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "documentation": "Information about the type of vesting for share-based compensation awards.", "label": "Vesting Criteria [Axis]" } } }, "auth_ref": [] }, "bld_VestingCriteriaDomain": { "xbrltype": "domainItemType", "nsuri": "http://www.topbuild.com/20240331", "localname": "VestingCriteriaDomain", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails", "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails", "http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" ], "lang": { "en-us": { "role": { "documentation": "The types of vesting specified for share-based compensation awards.", "label": "Vesting Criteria [Domain]" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract", "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Weighted Average Shares Attributable to Dilutive Effect [Abstract]", "terseLabel": "Dilutive effect of common stock equivalents:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted", "totalLabel": "Weighted average number of common shares outstanding - diluted", "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": [ "r181", "r186" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails", "http://www.topbuild.com/role/StatementConsolidatedStatementsOfOperations" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic", "verboseLabel": "Weighted average number of common shares outstanding - basic", "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": [ "r180", "r186" ] } } } }, "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": "30", "Paragraph": "7", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "8", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8" }, "r3": { "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" }, "r4": { "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" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a-c)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r6": { "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" }, "r7": { "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" }, "r8": { "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" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "470", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r11": { "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" }, "r12": { "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" }, "r13": { "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" }, "r14": { "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" }, "r15": { "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" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "e", "SubTopic": "470", "Topic": "942", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-4" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482739/220-10-55-15" }, "r19": { "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" }, "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.19(a))", "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.19(b),22(b))", "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.19-26)", "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.20)", "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.21)", "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.22(a)(1))", "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.22)", "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": "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" }, "r28": { "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" }, "r29": { "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" }, "r30": { "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" }, "r31": { "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" }, "r32": { "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" }, "r33": { "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" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r35": { "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" }, "r36": { "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" }, "r37": { "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" }, "r38": { "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" }, "r39": { "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" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "30", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r45": { "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" }, "r46": { "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" }, "r47": { "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" }, "r48": { "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" }, "r49": { "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" }, "r50": { "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" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-5" }, "r52": { "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" }, "r53": { "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" }, "r54": { "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" }, "r55": { "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" }, "r56": { "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" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r58": { "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" }, "r59": { "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" }, "r60": { "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" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "25", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-23" }, "r62": { "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" }, "r63": { "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" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "55", "Paragraph": "37", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r66": { "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" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r70": { "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" }, "r71": { "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" }, "r72": { "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" }, "r73": { "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" }, "r74": { "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" }, "r75": { "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" }, "r76": { "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" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//205/tableOfContent" }, "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(19))", "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(20))", "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(28))", "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(29))", "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)(a)(1))", "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(30)(a)(3))", "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(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r85": { "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" }, "r86": { "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" }, "r87": { "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" }, "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(10))", "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(20))", "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(8))", "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.1,2)", "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.2(a),(d))", "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.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r94": { "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" }, "r95": { "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" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r97": { "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" }, "r98": { "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" }, "r99": { "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" }, "r100": { "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" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r103": { "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" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r106": { "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" }, "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": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "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(16))", "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(23))", "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": "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" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(2))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r127": { "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" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-1" }, "r129": { "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" }, "r130": { "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" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r144": { "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" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A" }, "r146": { "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" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r154": { "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" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r158": { "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" }, "r159": { "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" }, "r160": { "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" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "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" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r180": { "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" }, "r181": { "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" }, "r182": { "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" }, "r183": { "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" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r204": { "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" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-25" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483080/330-10-50-2" }, "r234": { "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" }, "r235": { "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" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 5.P.4(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479823/420-10-S99-2" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r270": { "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)(C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-4" }, "r291": { "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" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-6" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r294": { "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" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8" }, "r309": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r398": { "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" }, "r399": { "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" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10" }, "r401": { "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" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-9" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-3" }, "r404": { "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" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-12" }, "r406": { "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" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20" }, "r408": { "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" }, "r409": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2" }, "r414": { "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" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//855/tableOfContent" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-7" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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)(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r479": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "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" }, "r505": { "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" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "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" }, "r518": { "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" }, "r519": { "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" }, "r520": { "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" }, "r521": { "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" }, "r522": { "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" }, "r523": { "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" }, "r524": { "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" }, "r525": { "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" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r530": { "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" }, "r531": { "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" }, "r532": { "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" }, "r533": { "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" }, "r534": { "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" }, "r535": { "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" }, "r536": { "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" }, "r537": { "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" }, "r538": { "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" }, "r539": { "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" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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" }, "r543": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r544": { "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" }, "r545": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "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" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "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" }, "r564": { "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" }, "r565": { "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" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "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" }, "r570": { "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" }, "r571": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r572": { "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" }, "r573": { "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" }, "r574": { "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" }, "r575": { "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" }, "r576": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r580": { "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" }, "r581": { "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" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r590": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r591": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r593": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r594": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r595": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r596": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r597": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r598": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r599": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r600": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r601": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r602": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r603": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r604": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r605": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r606": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r607": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r608": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r609": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r610": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r611": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r612": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r613": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r614": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r615": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r616": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r617": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r618": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r619": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r620": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r621": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r622": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r623": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r624": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r625": { "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" }, "r626": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r627": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r628": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r629": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r630": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r631": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r632": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r633": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r634": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r635": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r636": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r637": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r638": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r639": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r640": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r641": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r642": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r643": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r644": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r645": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r646": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r647": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r648": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r649": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r650": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r651": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r652": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r653": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r654": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r655": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r656": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r657": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r658": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r659": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r660": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r661": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r662": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r663": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r664": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r665": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10" }, "r666": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3" }, "r667": { "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" }, "r668": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "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(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r670": { "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" }, "r671": { "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" }, "r672": { "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" }, "r673": { "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" }, "r674": { "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" }, "r675": { "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" }, "r676": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r677": { "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" }, "r678": { "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" }, "r679": { "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" }, "r680": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "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": "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" }, "r684": { "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" }, "r685": { "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" }, "r686": { "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" }, "r687": { "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" }, "r688": { "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" }, "r689": { "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" }, "r690": { "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" }, "r691": { "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" }, "r692": { "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" }, "r693": { "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" }, "r694": { "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" }, "r695": { "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" }, "r696": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r697": { "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" }, "r698": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r699": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r700": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r701": { "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" }, "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)(iii))", "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": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r704": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r705": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r706": { "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" }, "r707": { "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" }, "r708": { "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" }, "r709": { "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" }, "r710": { "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" }, "r711": { "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" }, "r712": { "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" }, "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)", "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)(01)", "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)(02)", "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)(03)", "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)(1)(iv)(04)", "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)(i)", "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)(ii)", "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)", "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)(01)", "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)(02)", "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": "(c)(2)(iii)(03)", "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)(1)", "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": "(d)(2)", "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)(1)", "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": "(e)(2)", "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)(i)", "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)(ii)", "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)(iii)", "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)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r732": { "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" }, "r733": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r734": { "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" }, "r735": { "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" }, "r736": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r737": { "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" }, "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": "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" }, "r747": { "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" }, "r748": { "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" }, "r749": { "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" }, "r750": { "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" }, "r751": { "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" }, "r752": { "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 77 0001558370-24-007039-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-007039-xbrl.zip M4$L#!!0 ( +. IUCSKZXER1( .C/ 0 8FQD+3(P,C0P,S,Q+GAS M9.U=6W/;N))^/U7['[!^V6S5RO(ESDQG9 M":&>[3O,FW\Z"<6L\_/)WS__V]]^^?=.YX^;T0-Q?#M<4D\0FU-+4(>\,+$@ M$W^ULCSR2#EGKDMN.'/FE)#SL],/IQ>G5Z33^2Q9W%@!9/$](GE=G)XG";54^*MIR%SGU/:7DL_9Y>7Y";&$X&P:"GKO\^4= MG5FA*T 3WI^AY0JJ2\@YG952?^A"ZJ82D."(#6V:[JH;)6Y(74T% M_GB &FPE8]62=9@7",NS:;HJ3%-$GMX AZ3B>>7%%3K_^/%C5Z8FI&'0F5O6 M:D,\LX*I)(T3L!E7'6S24N'R0M5N+LZZ]%50+V!3 MEW:0C')+@/$(.A=H/*+L=L@YF)&W+(> VJ=S?]U-4O/J1@6IU2U3,N0!L]7, M(2%+"&HL8;Q)RF80*U["&E*R=19<@S>D;M3Y:B_4/#$EVXXL9@=J6IF4(;;] MT!.\3,U18EX;2CUDVQA=<6J;M.8MY;8;B.HN(+8E,77=(2'?[#5LG:VFI5%C M2HOW(;)X; .*[91@8CN9PN'O3A!.2XDQ,MH4-Y'I?+N6&"[?A!R.@9SZ5CEJ1V2?T<.F,>DY* /3T[(QVR90A_)#P),"415X)L M2<27)(Q_Z>;9Y0H*86HP]#[+W]"J AAAI0)QZ(DSQR2:C+;EVJ%;/]^V6J79 MXH\)7GNA"$H3<@YQ"X;3=YF#7>C&TVV?C+_V^Y-QBU 50IN/P7 V7"4#GP:JD@Q:S"[TF(TG M\-]C_VDR)L-[,GSNCWJ3 1"TZ-5![]9?@@X6.(]9TP$L>);4$$953BV>EW7P MO!T^/H_Z7_M/X\%O?3)X@K_[+;*UD+6"Q;WKOYAVRRV]%L7WM5#LC;^2^X?A M[VVO5,]=OOB^\\)<%^8,0[&@? !2>W-<4@1)TAT5%G,+4Y@:.35XO@<\S_,S MF20_@0D-D?$+1?3,5(VK[GLU<)NM?@GAU!BVV5\5.C1P[R)(@3_B09=M" MN"^$MR#116T^NF3>_M[";& %;FJ<"T_<&W37F3!+6+9@5 M8#Y1$2TRGRD?+RQ.;[<2E&!IDD4+Y<>BY06>)&)*@"N1;'$-M.7<(EGEKT6= MR0U0="%0+Y!U[]F"K%B&,5I(IQG+-F6'=0JJ&- X\2?X'1/J@-?$V\&8^7\KZQRB:4&J= M?3 "(G!)J$OJ)Z(5,2,I;BU0M?:VGF'T\: C" 8BF6YT93-5['I=F>]ZD7<9 MSFVGJ^=M7UA@MX*!)Z<4"]]U* _Z?X;004S][QH.6I2O:GGDO_:>OO3'9/ $ ML/=&_:_#A[O^:/P?I/\_OPXF_VA!/Q#HIEU[)W85S4';Z6LUA]8F&,VM8 '! M +_GE,#Y>92*1 /C.=CNPIQ)\D W4)I+"TG9J@2COF R^0Q=#:>3BN5(GD(+ MB'H=$K,@"8\6CKH;834VN_0 U=[);+&J=)OJW*-Z-"IW+5KM*[5_;S'^F^6& M])%:^+><&^1A4!-I\?A0Q .Y$,F&I/FTP*C=EG2.ZBFNLG446DA^*D(2LVC7 MU)5P1$[XB?5:'$'225H ?BX"$/OV9>96\V8[,97[+GH4#'=96C1J[*:8;9]H M<3D_4YBGDOV2%AOUNC ,F$># %0U95XZ2+J"1HN+:F48,R%I+BTHAOM5U1M5 M>D#,=JA:.';:EZJ[(:6':K>=J!8Z]= 33@/Z9PC"]M>J54HA70N-8OF^94 B M#BT0ALXN7B?,+3[L68B<4SB_R+OG5>HIK^\$F5DUO6)Q!@]OEV?NSRYI! MWN\BMBV UAC$2%EE&8+T0Z.A)*NI*/5@75^INA.94&8+6 U%[)JL$KIM$!=%(%2 MAEVV&.VSNE4C9IA+B]]E$3^CF,L6SYJ1'B6!LQI*#6[OC>,^VNC8"JA&=$V] MD.+)N'E4 4BSYG..%T^5XV::30NBPLT4\R4IQA%)BG>+:6U,I4TSAC)#78%@ MP>&A1C RJBUPYLOF_Z9O^!,#'CEUF.A!^Y>1!P9'\BKS:D&M7FIW")1 9!%H M<*-"R*:4%NSDVNZ_XD]:Z\*!7!X= MS'7BYR IYMQBN4-,W3A<+BU>=G6$00XMCJ;Q=C)@1;)M0=P!Q%000@T@%;DJ MP"S8WC(P,U$1+:"U0L'*C&H)F18RD\"P%J#:GM-J;ZD^;-_,Q]W"80B'>B>P ME$X;$:'8^U,YK]N]OOHN$S5,.E(M4A^*2)4Z3/Y?H(7_X L_(SHC\LF::WS% MY=-)P)8K%]_$D=\6\N&?J>MTDO=:_@F2GKXNW80"N6L>V9%0YY43EYNPL+A= MX%)X40>8^"O*,1:BF]3]A'0/)!2@D!9*,('U25\VA_4._HM8;BW)<^@V3W!H M1G71S+:\YHGD6M.Z(D$6ZAY%FE^ZN7=8X@^9UUKD6RT@EL\%\0I/AY6\%!,] M./;@VY)-1!V4DN1?K;,I XR"_ZU>1X-:W&)M;@\K]<8 M"L^X&9:?9,""KXR++'N,2]L E<^K=:DK@@V;>NVQY+VV/2J!7W:LP_;5++/R M$_JH;'Q[;'<+D'ET:@?; WF5I<"&;^ MGQJ2:'S8O%=W[,V Y(18D,HM M6WPZ$3P$N8[DZBHD,>'@,L$@@EG]*A@N4 :DD8)E-07 MADF:1(4DERJ/PZG+EDSTUA:31=S[_($*0?DF@.0DULCNV7.UCY03R;#T/2HL M_F:LFJ+HD7D42=(TN@GPTXD=%[^_0L8OS)O#!($^^!8>3ZZGCT+NIJKCCDZ9 MP%[*H[LP5RN7V5C31XO/F2=]\D-O M,?]P'6RMR:TQ$VND0A>^17JF3;?4 ^ M&S=P=]>*2?_ :(EM]6_]-?5 D4]4E$EK1JV!>X6;G\<1*C'+=K0XMMQX-PZW M5X)>_& JUFOB)_MU_=F,VF(X&U&T:[:\>L^WO_5>+.X$:3M^.)YI9022C;$Z M#F'D=Q)%"C!<21_XGEK)LOINRMC8PS@""62!SU#/9[ =R9 6&STM244WWG,4 MW$THQ9W:&U_2A+Z*&QIB'""LLOTW"JMA%]$Y'1YF;P[Y6RJ&D9@IK^$D1VER6[8^JO'L_Y(?7 M78;KCZJZY\@7!PN40ZHNP_7HWL#-S/BXJHH7 ''<I&/L2K?L=3C:G_;M_\R]6^$ZP5!N(R4,:)H MLV"6EXJZBA2SM]YK%Z=1>**M(SM!=I8U>J]FNW<0Y!L=S)O7E,ON+9U#U$D: MX-YZWJ]LW2JYGL.Z^2H_O@?P2)5JAHMP7[_H]P#D1U#[YJ5ML_$-:Q^I9VMW M911M86OD*)P;LH]2)9MR]S(U&^MY3G9"MIL*]R^F*?H\P PW[;,](+_F.GH/ M(636.WQ0CHUSTDMO2CIB_7Q-Z5D;$Q*'&,FPHU\]A_(17?ON&EIP M$HQ4981VX- X+0" ]\R#Q1##N(LH!J=R #/+U#A9M>>MS4<[87*QR=J35I#<1G[(@AG^A$(5\5=7VKY*J(8;NGL+P:[GW(507^WFV M]Y>F-K%M9>-B1W1&.<5@&*RW)4*.3S5G?%EU,GQ_KU^J,X--TDP@13+F"EMX0>QT5L4FHS'#,P':%L+<\G/U&1BZI2 MIS6Q=VD=^X.'-WMQWQS:L 8!#5IXJHB8*)N_Z&,[NZ,P* M7:&6JX*FB6(],H\MP^5VEQBK#\/&<@GS!.C_[MM=B.XQL!=8]T32^MD:<1 E MM42WH4_!7.@>SVW3![:6X:0#+S[)'7W9WL(#EI&6N3P.R[,A\Z8OKA7@8N]W MYCG^2\X>E24VL8'W7%!I4HG'+Q/43_2YWA&KK^-F;X M0*$ AZY-4T-@1C1@#GQ@EIN?=A<3FFA0\4!)=&P>!K.>;=,@\#G+S[XKJ9HH M6G;M#Y,.6/L' I?^VVY_[_H^5SL+]!D:82S4QX3CB6E2?_QL>,"X(N?W.6Q< MG+C^ZO&-P=!N/3QAL$6 L17QD>#\='4/3@V9I!XO0.C>YS,*57.&')2 D_J_ M+E!,6_:/&RA6%+L!@6*[5:H9CK'TLQ>QOQ=&K1%=10J0#X0QSV8KR^W-P.C] M@UH< ^WS)])WR-_4O8WX8/;8;F]^@QW!6G#!;T- ^$O,?Y@ M"DVT1,12HJ8*EWJ=YRZD%V<7'W,G3LK3FS]5VQSML]P1=6CDCL>S0\'"=YVT MPZT7/]Y&M]UPB:^B#SF;,\CNO@V" /"-HKU5NY+?I>1&3![S3>3R0M^$4NE- M:D+J?;X$NVC2,&:OA?NU3#/L*5R=RU/RBMA16+QJN*:XZ2S_2@)S9D<-%F('U%_GT[YFZZF%ENH%$&W@"$H>-@<:1G/<3]W:V78;,+ MI2=K(,IC?\;5<4@;DU5*T41Q./L*@X92CF)2$P58L4+%MY\:6.$>_':B/>+3 M]Q,_%W6;E\6,NH%B%M=QVU7>)N;R-?YUHEBV&F7;:ZJ[E^$S]<$F8X-KO5'G MCELON%+#>Q"3"./4%0?;D<"$NH&@:RJ>NI# 0,P4=0/%5+PQ W-R=*5'G";0 M9(,9A>69/*9BRRB<3=C>+ID;T\[+%WWY<7_KC4\D?K8+IMJ0O(%M0,80!-'= M+GA]>\%PEZ0W4)0;;DWQCM*N;KX&BJXP@S@(Q#_O*=5:S#QI8^QCQ3Q 3F]&=!5R>P&3 MG&?NS[FU5-F/:LH&@KHUXK_[_%LP\&S%%>@E%-]7G.AIB^AN^,__!U!+ P04 M " "S@*=8S*A-#[$0 !KX@ % &)L9"TR,#(T,#,S,5]C86PN>&UL M[5U;<^(X%G[?JOT/WNS+[ /AEDN3ZLP424@/54F@"#,]\]1E;!%48RQ6MDF8 M7[]'OA ;+%LVQA:P55W=C2T=Z3O?T9%T=/'77S[FAK)$U,+$O#UKGC?.%&1J M1,?FV^V98]542\/X[)>?__F/K_^JU?ZX&STI.M&<.3)M1:-(M9&NO&-[IHS) M8J&:RC.B%!N&Q_H84I=DXOSIOG5\JM9HOXTZU( \Q%5=8Z[RY?G/ORR/F MC7)9OZZW&JT+I75S^>7FHJT,G]?IGJ%Z4YR6T,#F7S?LKPD4J !,T[KYL/#M MV'YZU69HKM:P:=FJJ:$S!=+?6.[#)Z*I MMJNC4/:/"34" >WZNBQN"O:K%B2KL4>U9JO6;IY_6/J95T4!^6K#7PS4[HGID4,K#/Z[U2#R7Z=(61;9PH3_MNH'ZF- M3183!QOZN4;F=9:@+B*IOH_:KA]:@^E@@:AK)+M5FR=R[_6_)_,%13-D6GB) M^N %YJ@P(+&R]X](M6:/!GDOCI"0Q%UK_X MS2"60]$W0O1W\)I=4Q_8,T3[ M)C2O-SPQD!6\>D"VB@UA'/EDEX)HXW?7LJ!U[@->"X+"EUHPY_B.CK3*6(\>X8N[40(:'%87"+<$>N MK".#7LPMJ*O9>+D+%8)BB\/1U33J(/T)JQ-&-T;Y/6^"J.+JZ_IPT,T>F8;#!9F*;O47EBPCT7[-*\GJ+E??R:T@)%I6$'HPT:FCO3U4VRS,F"& MTF@H-64M#OY_/WAY'3SU'[KCWH-RUWWJOMSWE-=?>[WQJS=QG6SI<=4*5#A'?I='Z MJU0+Y,-_MVPA.F?R4]0M9SYWI=4P$!GDGU(R_]287PC)4F%"=41A!G^F.!;4 M@RQ8&:IQIKPC_#:SW3<+B@GKJF[/6N73HFG$@88&(P&$ERH,R,"%I["4D$4> MTL0IBJ$U*T+966;3(^9*X9_>?QV 9+C.U;Y7*5V!<_U=-1S$H5LH;U0KEZ"5 MU@'RGA^J;P M60V@;RX!"J$K,&0.S^$DQT%G*B*?M;:LK TI6JA8[WVP,2@* MYM(B/:E SN/@."]0G_H+6:D/ B@&6.*S= MJ0UVK&G.G)&"] >TH$CSPM20LSLGU,9_NS^Y(Z!]%WP(!E61%GRKO$JRRI(- M,100!02O-M'^FA$#JFDQG=BK#3-*3UY=_3D6'TH1)>6JU;FXKL@T1=4>-MHT M(+)'6T+U3YZE;2>4ASA1,A+I2T(E.XM!$'"HKE@$4"PF&DTL-9M)=>2'1 4 MRDYL=) 5:&253'!RIB,B.@=0V>?PX97U%(>\G?*(J!5%)S*3ST;AUE(R//BQ MO5+-!JCSA4%6"(V0._!,[4KS"SH"8@L&+WM((#QA$73;25F.P !RPQ0)&U3H MI5,#=/&)HU"O 6K5J\\Y1L_BR&3O=Q_0%$'M=6]'V%C]"&F#'SQ/R74,'.>! M*'MXW>^'^J;E4.:+4ILP/\,Q4)P1G>Q=+V=6D+Z0DI;O&+C.!U+VR+V[E!1V M3$*+9K$9CH+D;.A$(N#2C:53*4[)=0P\YX'HDWTMT6@Z=8&#GS "L=, B,T# M6CP0Q"/[V+FKZ]BKTE#%,(RX5Q?85@VV-9Z8+D;>L"HUHSS\9N0L9I25#ZSL M$>K0RFMP(&+SE.83L=A483"%V0-_@)U%2E13S8,VBP*0BSB(DLUBQ Z_F$CO MJ=2$T:856:"?8@WSNNWTC$=$?DZPLL^OA]0/&KB*2=JP'Y/RB.@512?[C#K4 M1R6>OMA(=D1,"D&3?98\IC!1<.C*A>$A2J*3E_R(:,T$,76:7(OG]VM]X^3G M/HZ#\F[\".N?>RZTE7PN]'4,_SSW7L:ORN!1&0Q[H^ZX#PE*/B&Z/J_-QD,< MF]U(4_K)I:#H1[!/[S"P _WZ)R%W:$HH6L?2D=7[L*D*E@4S>;KJ@_[=8 WD M!*JA:F]]TT846?R#4'LK,=H&6JW.]67%S3S6 **'J,K5ALCZV?653EH36XA#2J;]#,QQV+RX[N 9_=/Z"2 Y)\G&? MQF!<0+P8V!(.R.Z)90^F[((!=X$8T276D/5*#)UC OP,Q\!T1G0RCM'6@Q6_ M2[F#'H?OI3FIY>-2,,PBAB0#;Z7'26,O%!8*F+:S!$SO!\_#4>_7WLMK__>> MTG^!W[V20Z71\X!M&X3/5?$,C4$%O.D4:;\A3=B7*[Y58 MG6'8N\1@*7>KWRQVBL+;EIJ[K4S=X?@F$!O MRZ(C;.<+NW^?T/C+X'F&DE/<*=A/D:H1F@)_VE6[@JCEPL<[F(:/]')#D_') M3\ N,D%/W:7+V2]6]?B%745LV3N,7V($R&<;THY?1+4G^ZF@P(>.25<#S5'$ MO=\OI7]*%Q#5#[O7K^H=J3MRR^^1[^B+VR*]-]R! M;P81IV@Q6=61<=Q2\0Q)91_3@B>ZPQ2%8C\G(Y[Q%.PCGQ**OW!K7^.8]0O M9 AMLF(Y\.3LD1A M7P'L+\?&=V;X(H>4R]X:ZZ]&#\P';"V(A3TPWNBUR>$].=,),)]# :DGFRO8 M?>=@N8>R#NO(]]. M> (,"X*6\ ZP[3GH]H=-^1MK4[.>!/!;PQ>9G/LVF,"T^5&PA M)N])&H2H'@*+2-X/5<5YE1AM!(<"UMO\DTZ=B.0_ =/831>!><@47_36/ ?3 M\#KHP-QIQ95C1WLH23Z+JWZINBPUB\?*BS[N]( MS2"60U'P*?M@"/_Y;70K M>/7 KI\UQ X^730N&DVEIGP6 #\"08IJZHI;BA(J)IS@)[^L_Y1\#BJHP$:[ M^WQ<]I*%7W!_#K,MZ#5#-_YZCYB#3-AY()P_:I=?*IS$;E(068O8"8[TNQH# M>.[U""F,NFD.BS5^E7-N3J[$&V[\]D(=65UC*[-K])[A]3-%=0NNS%-N:@#& MA^OK5CA>-%O6\K\: U;]A)=L5+M5/PZ2Y$SRM,X\I&U\.28K3@GW>26@2/*X M:=GDHSD'79DX3W7D!\)Z:/@@L-!"57UG/+7!F,YJDHF^K^I\K<[>8I7]3=2-UU.(Z M$C2].+7'?3E5!(CT,QD&LF]:-G7L9[**-5@GM4?G)+^K^;Y-)6\&?+%0;E*&2JZ.S1W"^JLD%CP1UZ MIU*F)*Z!G#V)C-;4 M-QG*\3LIPA/YHD[*:I)1[_D#J1-#9^Q?--KMIFL!\"!+Y;M3&U%6_T?B;/J0 M740=K@44CCKG)U7+FGTOB;%D%\FI;'J2*.TBYVQ2]=N'5]?_\0>;>%WG_* MS.;O.]NQ5A"N>-(5$*^X\ME-Y)]%5.;NO[OZ1GIWB:CZAEZ<^82-[1^PX;"; MUUE-K5"SWV@/F7.7W-0Y]=NJV)UJ88W3UC/)B!I[$XR]45%CSTELN)7OCGS/ M74'LR-[==,R&H*KA?P?>K6_7MBF>.#8[$C4FKAK8Y^7\+<:?&X;="ZB[[RK5 M-^-.Q0H_"DLI025[OCBU.!,*WUQ>E.6$99ZVP:1J(F<087\CBO@KFOR#-MGF MD,W&]J*%*[[FRE?"!<"KH(S*!A6]^<(@*X3\[\3%:^*%N)=A@AFYC7],/'M8 MOV<[,%Z(_2=RE[_?3/PW]R[9/997]AFF?2'YE.1EJ&>^Q*J^//-ZN M-*..''V22N\YAW'[\ZW;QYJS^=/6]AS-%ZF$9.;UG[%CBNTJLVO ?9K]+U>$ M7L9O*=E%4-EW_'G5#)TS3MXEPTTOCR?8G<;(E7Z9 $NXLWL- %J0NV52C-]H MZBC85JMS<75<[ K W?-*:9([8E>),XS!]PD2&JI@KF,C=!?8>U[8+.!#L]L? M[0ZTL4INSB)9C\T4=L:>;9FST(8>U'.$)@ TO8G'IS\V1O,!3KU?M>)FW3=M M1&%BX%\ E=R0XQ,?&]$YT(II-?,?BJ6 8>(CHE=,ZJ+$!D0NK#8BPKD (WXGRM>UJ%OR:JA7[^'U!+ M P04 " "S@*=8P@-<.NXS !%?@, % &)L9"TR,#(T,#,S,5]D968N M>&UL[7U;<]NXDO#[5GW_05_V8<\^.':2F7,FJ$#2MLZO7P 4)9+"C21(M!Q634UDJ0'T#0V@N]'X^;]>EM'D"9$DQ/'G M-^_>'KV9H-C'01@O/K_)TOG!3V_^Z^__[]]^_O\'!_][?',Y";"?+5&<3GR" MO!0%D^/BWP_='[W^8O/_TXT^??O@PN;XJP*XH8O-0 M Q>%\;=/['_W=+0)I2]./KTDX>WSA[>8+&CSHW>'_WMU M>>L_H*5W$,9)ZL4^>C.A\)\2_N4E]KV4,Z?4_.6>1$4''PXW8TDAV%\'!=@! M^^K@W?N##^_>OB3!FS6*[&>#00IP]FN0;AJ4@7\\S'\L@X:*KDMDY_ [J*S9 M]>[CQX^'_-1G@B-T@^83_M6G=/6(/K])PN5CQ+KBWST0-/_\YCX* M#IBDCC[D)/_[;4JES=3H!,<)CL* "7_S93*;GSQX\0(E%_'M@T?0 XX"JJ)G M?V9ANGHS8G-1P3#%C_=9& 5O?;P\9 "'W<;@G# 2QV$W5IR&B1_A)".( MH\%GR E>/J(XX7IWY]U'*#$EVK0W!^3=H"<49_0?'R_BD"%#?_,6"X(6'+53 ME'IAU()2XXY!$#U+'Q"Q2&NU/P*96?QH'')>+F!J31(+$_1?:^NU1S% M(29?<8H2:GW8MN"128-_84?9309PS(1NBY6\)P=DG7LA^$3HOOX)8YO4^Q_8];BR8LZJ7"7L<"V$?47M>->@5#[M2G MPNFR]!IVZX#@XRP)8Y0D%*_[,.9H);?9'RG'O) M/>=AEAPL/.^1>80_'"(Z%/N&=9DP=#]P5!$*EKLJM]-%+@<*>WCVDE(;R6;/ M69PM$>%SZC),TGX4;M-!&*>'0;C<*(471>TTJ^0-9F[G'SD;>&_=D:*?&7-P M?!!P&5O$<+=K"^CRG@Z6:'G?=IZ*<:WVVQW1!XH3\;-[=+!A@T5TA;U;589\ MJO>C#47?.<+TSS#W@E[2;M>=,W0ZS^T2ZHC!!2C8?!NF;(!M\TFI_20W=Y,K MK@U-K 0CB,D ^Y71(Q9^PJ2U!63?; W@^HM_3I,$IEY9JNS8BDJ^O(B].*)P7)*%,UD=*I:U10O57**:G23^=* MT?>AH?<3UG^Q1&]&* P/ MGZV-K4^"_+<+_$2Y%.:&AW[8VAOZQS]/URDS98?J^BN&3\U0&+38F>&&;0Z' MHO2TV"$+S,.8CRWZVI'.6_6 MTX2DI;64_K65-OWCGYMG6X(2V ML1-Y1B8+5^&8>?P%<\ZHC?1L2^HP,HS'(%1NY'KD.Y6'3$Z1&$L)L" M/,?K>+6%N?96_&#&$-]B'P?,6?/56R*EU>YC*/D2U]-@7=<,F6;@_E$??(FI MT5I>4OJBL8MEV(GSTR_^^1M*TC!>G) PI;M&3S#G)5 [FJF ZP=7X624PIG@ MVWT:Z)F%-2,/IL525)D>*U%TNCP5*5%3G^[:DE!R9M= 2\VJ AX(K>PC0>J5 M2-NN$?T[+;NN$7JAX(88#6[ZI224%P$CU ?W@-W0:;T^&DF<734(H5-' #,\ M_E)OU0Z,C@8[/B@YX[!BQ$$]2SLH%DXD(6IN#R+!'UF2\LW2.29?T?/4]W$6 MLS7IFN"8?O3SK93JH-*D#_E!IFDO#KC%MHQ;E]]5)5)=8XH(5$J[#+CS0:&E M9+ >M>$/ LUH*:\1,AI@>&J+%6Q]@7]@DJ?,(B)3[UT@H0:( MP08BA(5#9O,*"E*]EL(*R5)"=]%L)5NQP>"#JK4(VT*EE5@.KM-TOQ)D?CHC MMX@\A;YLBR "$RJ #'!8J0IZ2<#E41]% R#DJN-=T@:-2+88X=)+ )OB,GQL M2XI\);BE1-KI=#EG%*'+\ D%VV(9^9VLXU6^>D5>HG)F-NA!JF$-^X#%IRU^ MVK2GAKVTX9>LGZ[3M)V8<2>JU!!H" ME9H,=2&T.:46(]D:EF,C+(:/98O1KJ9^2]%U.B'R(M1%46;%;-@%E"J(&-0Y M<^BMYC/7C#Z[X(H3+6B]#U*G*_^:1D#V/<>.E*O-?!Y-J@PC0 M,5E*5=\%-"+-GIHK.(MU8P^NXKO(EA5IJ0X^?X9"$F2'[2D!-B_8H<&WCS=@=_T4-R M2TX,*+QX)@?M#6GI=3D9J"'B=B[-:7F']>,/>G5.AG!Q>TZ%J-OH2/'0Q?&J M]-3%.>$UN'W5P<"@I=R[;];6)3]$>*DC'_J6>GZHVW:.<#02&6Z,W_#1#!." M*E$,,T*@3,G-QU]"1"B?'E:7Z E%9K-2T=AD8FJ: YF;R2Z:C6>IM(]&\U79 MB\69:R96S>15(NMR&BNIT\UD)56NDQ"\V ^]R"@6(X%6!1:*"F-K*?4G+ M5#JU$3 -B[4U"+=^Q&1Z#SR<9XN7I MI$)X\(3N2XI__L#SB9?(TKEW@80YSV(P)X1(P[(J4 .B[ 1DM3S%^K$'3>(6 M(5ND<*N0=&SI>=7^:X^D*[Z$>3[#,CE>E7]16G_3#A1&LDD7CIFD61_J@$9$ MVUP36D@#Z[!RL$*8DU%=-43HNRT6$Z=AL'[J]!;Y[)GQ$"5G+WZ4!2@XI])C MA?BRE!N'V?S,(S'=.";%2ZG'*W$'JM(R_8THU>:>QP0C-^T.4=>L(0K=U1/2'.Z,C'8"#G-'QS?#09O^HIC^@ 3B6R0]C M0QS!&L@Z?TM\4[W'X.*AHH54"S1MX-"M5'EEFZ:TVYL09@+!#3 :?+HH22C/ M'BWJUA-#M$6>936>Z6>C!G1J[,/DUQE2(Y(DERE_$]'!/?\8QNQ/"362=*K.\G;[& MU4NASY$MY@Z;[C!CUFQ'^@NX]K@A?$ M6RJOOLH:*&Z%JIJ (5IS$U;>I"'A-N_$&LBB_I"2 A\'MV/E!.R\CJ1 W'&H MEJ4)^6G&3 %SR2FCL@)812Q2 @V!2DW 50AM3JG-T*N:Y=@("P>A5B':U:BJ M%%VWUPS#Y!$G7O2%X.R1+W;A/-3Z@C6MY/?I].U@\4!]M5#7K@T?+%XJ-!82 M;HC9\-<)=:14[A*:D !G%3K!"2O(3K^C&U)UCJBRE9F]%K=S]J1-!3=UCK@, M7I[PK6IA=:52"F/G31L)1FY7+1$)NT_92%!W7 QPB+G_/J(R!-!-<"BNF3@7=)1?IX4ID:VK_\V&-'G)X-@MM7 M(5"P^3*9S4\>6%0PN8BY;^0!1Q2AA+W DZ[>5(2&7E(4!RBH,>3HZ,>CH\G! M9-,G_7PR^WH[N[PXG=Z=G4YN[^@_5V=?[VXGL_/)R2_3KU_.;B<77R>WOTQO MSGZ979Z>W=S^Q^3L?WZ]N/L'[7P9Q4F%J(VLWA\=?> ,NO<2]*90M6$?IKMC M;EF9;Z\&=.@&Q5QX+$*,8V3X=IZX34& T4PVGF(/M"7QLWMTL)ELY8D@=% * MV5]Q2:HIJ1F%82530TFYNY' ]B.)DK%;CV,H!I6*E:4BH<:I-"@V2QS?IMC_ MIGRL5 #7DQ0X5PZ6ZT'4(E#J4J6 WR[Z3ME^1WB\:\4QRI%3OQ4KAQ]2#.\[ MBD%!AE-Q3(,@S$>^]L+@(C[Q'L/4BY0BT;094BP?.HI%0XI3T=R@E&*-@N)B M@E(F,N AA?%#1V'(:' [07P_6V;\NMDL?4"$T4'WQVR]?$)YRJ]ZLIBW'U)6 M/W:=..9D.17?-AV;:A9_!$^W!2X!]B,0+XJ,-U@[6 OWNNO=6I'GI("S9F7+OW'T]]?\&4<*3 M,$7K=P/SDK0L87"1RXDG'4JW\WT/"^!$8$%O^N<3'%7DS+E(D@P%IWDZ$$>9 MX\D#K*'/_<<4BE\L^4+D1J1E7P!.+K;6@.;$[Z\F4.LZFU.&S%&89@394HK= M;@&AU20OPZQ MZC1G 1S=4.DY_VW&$4O.7A#QPP3)SGHM^AE2#_[FQ%!("(\VTFYW\E?\I[_$VPJ@/^ @BQ"L[GV.G8BNX^MS"*PU__ MVP ^LCJGL08#)\' ME K2WF5:+?K<6ORME3$@5$UIGZ&@I$)(=3UG2MRUHEW M')>L'$LT84DA+ #_;I\38.<.V"X'NDA06,#F-SH.RY&G.P.Z,?0D97V$4,-; M7UE0I _K*R7;VO;81![2VD 2.+?F3:-0$K86N _"6"[X&7M\;8[)DB64"PV1 M40N'YDBK*C5>RXF <]IK79Y(&Z.WT+&[F+XUKE3V%_9,YN#I ^)";!J"SE[8 M1\1QOJ.('=.NOPDF?:CT7W03K5+@KSA^HLLDRK?HPK*6%CH%$)CLTT2T9\Q0^B F M310M2\HE%-EU0QY Z;*$6!T10 ASF,7&*M?/$ZWK*]V)HD6?X@ M=-)9L]H, B#<.;PRM6&4J_C)#7I",8OJ;])^Z&_>8D%0_F+0*4M_C\Q"*51G MC][50RGK 2:E$7*0TB"3OZR' 1M7J>++ZCEPJE2A$G43"UM5S2WK[9U:.CS7 M8\D%O(N AK?.$L]PDXV[B)#!6O>3*LTJ,9S$0%];)RS?#])1YOZ=*B$FC$D/\WK M&C@VX5I%*6VEE73T:\^_\(=9XN#W, [PLYS;$CC']MN8R1+T^^7M#47D2Y:F M=!LDWWOLPCC,JVC$4P'J_?)S&D4\OE5@*&6J#-!AID(CSLKPAY. )%FY+S4) MB_IFSM(132FJ/;R@V+_L7_FA-?[Y4_!Q2CP_9?=JBZUQ_E1\&"^F24)7*13( M;RFVZ@F AZ:-%K2B%4[0G5N:IK'V]V:Q=MXW_!#['E0Q/O8BEMQ^^X"0R2"*YA'P FEIET&](%QP9*$:<6^R0CA&7AMA2IJ < MZUPG#EJQZ*NZ7_3^8A"F9/B-S1XZUFTK;L"\"=ULZ3N"7I MX/3@!C&NY97]=BE1RUW7%L"T[J3M GGK2-XS^;++CNQ2Y!W+/@.8Q8YAV/)UW$J1J:-'1Q(N#==2J M-$P9 'XP:W-%N,#9K*IF#7J\*&2_AJ90(.,=H9Z#6^,=H=[VL.,=H5=\1ZB! M;2@,FRX4)8!S%HF2XBPN!56SW?L7D?J:,45A*4V/F+![VK]2=DL?NI( Y@@ M1G*3X0_GO%*0<;%\]$+"8V;R)X-DP !.(D;BD.$/3QRJAYMJ, #JGC5B/KBG ME K$\I<[ZN]%:(0@:P2@AE@CJFG.2[NR^4-P;6 MRZ0# %6[&HG/A"9XHLSM, I*KQ:W6(>4[0&\,M1B:5*2!$^.&C&!> >HD13< M>1DO<;RX0V1YBN[332V=%G7H?MQU+K*N#UC?$]8Y3Y8O]P_?I5E$(1@ [X:9 M(HO1=WL[NK)PZYSB4FAW=Z'5^%>N0(OV*/OG'*^2<4$1)2A);^@ID$5QS[QN(H P/P@K>42)D*"#[9;28&/S-Y:<8P M:NJ;W:E;LN.;+<:9X/DD8%\MUT.-;MK133NZ:4BF'=VTHYMV=-..;MK1 M33NZ:=V=R8Y7Q2% HUGB)(;])B_5YG,YMRJ](HLDWL[LO=2,R[BK]08W3VCZ E= M4=T MU\C0.L>9:,/;OBL@FV(S:78C%]]=8.]["9.T#OT-&28Y19&WHF,0[YGM*2^Q%Y][ M/J^&.8N1O-J+43,@[A]]&,6,G"&9?_>,VS"_U R(\Z43\TODN*ZMB:,G>N3, MMP8%>DKKHVD#Q)MB9HDTM+@M45E!2;$O$@$.ORLRRD*7[HI$- #BOG)') :% ML1^2*Y&<^[T=RXZ]!+&;(,>8$/Q,9YT\?4$."F"GH]*-POC+">C7HWZ+Y\20 MQW)0 /L;$Q[+"7!J.G[S2,B+X5+4%&9[%VQXHVUT.T5JM'Q4'"!I(:$1D@ #,MUX?"@,B0AQ,F6Q^566WN.%P\ MI/DE,&KJ^(U*:O\VOUS$ 7JY??8>I>*RU"> Q4$M64MTVI=[0M*2S.E?6WFS M![]OO'@A6C!JOPV_2AC=H-M9)6IHNV&G<"+L_.K6^ ME7^&@,Y6\HNQ89DLI M%VN_.S3Z$HD7;*PA.CPCO1HS2'NQ'NDOZ0K6?RI41< -BM-LK4;T=9S:IX E]OL/@J783I]\L*(Z> Y M)IP+@Z3<07B<28?(3\,GU*$ND; / #F75DH3"8F#*ME-,0.*N)$8JPWVJ^J'BA*H M CKVDC"Y?23("V9QV57QSDALGA**?3YVH5%Y77UA M3H)Q6P#5LPT7NP9$09UD-RA 2X[)-0G]IBN;HO604OQH>8HIR!IRAI67UBT. MYQ'&==='P[:#^I>.+$XQ)56]BR8L9V<_/D:ASTSOE4<68W^'4BR[1 M$R(4KQM6:%XLJ99=#2JX]MZ6;D1"-97T.(,:7*PJ@P\JM^[^$SDA4&4CM=CE M.WRXV*N#'BT7M;CEJ13!>+QJO%[W^9/_. MUXX&3_;?UWP?V94C$SLT9OV,63]CUL^8]6.7D?SM$'9>N*7'.H^>%B1F4P(' MYC:4L0F5$#(\X]?#_QHGC\@/YR$*A-LW#:Q[4ZO4H W7Y138K^/Z1)%AY>GG M7A9ML)+7G@RB.O,6#L)A4WW)=RF$UH BRM!BY565,8YW%S MI327'HBSNAI%V?LKC5L#.-:Y07L 7H6>9%FF$K T MV>N\'819;@XNO]&6+,M$0A9E^-1E7I:;@\MOM";*$I&]5_NJ#GT;OBC>'S-L M"2X/42^81O0-+1/TA.*V4BFW!9=+:$4N90H!&;[+UWQ%1GB8&R_'C)=CG-=J M'NMMC_6VQWK;H#.TQWK;;8B#*MFQWO98;WNLMSW>U'4>XN%(X5\%W6YQY+X+LRDQVJ=3>F:ZR!/UQ)[K$& MOM,:^-W<*^V)A&,K10Z&[Z!LA84*W1THA2/^*KW[\@2";:?+^ 1"HVX'E;5M M9\U^/X%0KI$@L\ 5D$%EU=TW4T4>#M]K@4[ 3T_8=J@8/CUA\4QP@N,@S#O? M3E:6HI8\X"@H3]CI8D'0@FV4JS-W1D*Z__*B:'61)!D*;A!C55(J"Z<]7 R# MQ*":8=-C,PQ[(%2BR:OL-"PY\U=MR1G>+?RZ,J)-[EZ\:_(Z:LQHV3]6FADK MS8R59L;B,F-Q&>#%91I9\K'$3)]V?,]+S&PFJJ;$S X< $O?I,3,#OYC593Q M.14!\\?:*.-S*N-S*O#OBBBLT![>&'E-]=XMW! 9Z[V/]=YM>?^IM?;H616E M!DDF1@T!S*4V8C(ESX5TUBI4)"NQKYM+2MT)@&M6]J2F)A5JG/,5Y9E+\GU> M\WL*YUY(?O.B#%WQ#&J^BVKX>,)?C][5(UFLUPGO=E+N%WXH:\..:9*@E#TK M<1EZ]VP;&C(? RQ_#)4U#Y59%^\8 M6AM#:V-H;7S$X7N(LVV,Y_&JM*B?$_1GAF)_I5@3C%J"B<+UND@8L0*&F$7X M*1<0HY8PUI(&NBR4GHI"<-)+RNJI# @:MP:P:C704YT(A23"$./Q:O/QEQ 1 MRJF'%7/M1&;F5MD83.QQ*(NKY 8,>9>UM[V+B#1M6P[J/FM; MK5QRKH/P1\RH!GI,?=8:H[XF(H5VG-NMTZ3R4B2EP7[V/*N[''.9"4L5L \8$J6*E"'8!M$1D\7W#)KZBQFU82R MB@UILR#L7]#IAKV1EJ%SRC.Z1>&^O=_#].$D2U*\1.3LQ8\R5GF+Q6;H?\&= M]R+1@U8]P9FOC16D%;UP3D";(_)%[%-\+W$BF^!"2 >Z[:"$](#4#!G+X]T MFX2T8MG" ;@]U5DH6VK@B(2>PW!5:=982D2C@ ?P$%5;$2FH@B.J[9PN#',8 M9Q3AM7[14_@QHN2B'([:9)2HII6S-IJSE_I-U$%GJ%NIQ M1 !O8+55EU[Y D?A\J05B6X4/P)X#:NM& L27,5OOZ(TUY!K1&X?/().O,C/ MHA:1W(^[D5S:^23O?4*[G_#^Z=>E(?8@L%MX1Y0QVQI0]P/[;W0>LD=>J4X@ M$GH"%Z 4"DZ@5=1BLD;"UP'X2QZ_=7;A%Y M"GTD=3 IH1W'>90J4N.QF( A.7WED6]H6QI<'@\U:^;07="2]S)*AA0"7=KX M6A\;J[R@A<,#?TO6"XB LVW<+#U:]ZH T)TS58JU, BVMU[1S:93X1:KP4#P M9!I)IX8WG"GQ.PH7#RD*IGDAI*\9HWDVYYOR\B,0+.'?EPBE81\0O)A&0FM( M%W"AGH911K_;P7X:_)$E_'4TS2V7SKU"\)2V%WP32OO=:%!+DM\&]"+VM!V. M&41(V\D&P'GKB\[$G"1M\@K:C[T$ 99/I MQ2@J"+IE]\OY%?0\DP<%>1AS^9BE/#(TF]>5P^S2G)U!!@YR=L/Y>"7N0)$W MWNN(< )0O:A>)7S;)Q_=!MZ%B&GKGNJ;P4AZ'V#*Z?7$5D%5"VFJE7.K\A*0 M!!: !\!49:MIID)JW.X"EX\17B%4.CHJ):* !W (;R,5!45])P7 SK307J^R MO="-F1ICIL:8J=&=TV.F1M^9&JY/83N.#KM'KDL ^0FV.22^$&9G"=N_K(B. M="OK8UGJ&^QVTHX.6N*2LUI<:Y\V"AB:=*O"\5S?(FGDIGQW)"C+Q7H_X-U/ MROW3G]9#[),OQAK5) MUY$7LZ.:PI58!0'H^^M!U&6C4:7?Z0ZF0$7IH:L#P?#'B11-Q.7>BDX4[])= MQ*R *5T V(C27;H2&H K3*P)QEY[,3(UP M-P(1SH.=7]W7$=S1G@H'^W/N:GAXY;VPMTBE7*S][K@2H$#B!1MKB,+PDG>: M;[I3N_51G!W>>^*7^ QOU1CNWU%>0B\A;&KQ4ENK+6G8&,"MDP'4Q90;/3\CNZ.16WU=HW#GO8CEVJ(] M@!3C'D7;@B&P?,Q3/PV?*#9-GF Z@R4ZLP /W)EH1:L>E5HF'O'J7D;:F( R-7=#]#P7!H"W6]T;:O%?%C M&FGWHLT]3H">4T^%6S7AI51^0D#!.;HGF4=6M)'X"=4V'0"0H5(3BRU74[I@ MN#M?15+P4'-L3"1N_4Z#O5W.F$/\FG.(]Z[\E9UP5<7JT_WXM2F4$QP58@>M*F5,@ MM>4<9Z1792D/X##0#%]7RHR"',DH9P\>T'$#VESB0:[0P- &K@[37;']GW5:,K$.0HI M33-R]O(8$D<:K4(#0*;Z:]5H%=N_AUW(AONUFN1\O3KU4G3NA>0W+\H0B#-E M,RSW>25P?>ALQNEQJI19 WA^?"]GV3;F#-H,^SZF5?5D!&]N-<;O^SA)PYU@ MC06VKR>7W=-8T]D#$+]]WK/U/WL "FQ?9\_NR0_6[&F%W_?A*8 Y>UH)[!7L M\-;DEQXLZ]%5H!ELG_6_GQ._AF&O4O_Z"1O+Q]GG([71[.U)$P&&>]G%OXLD MR5!PFA&*8GZ(X 0EY;PF?S+W72 "H+I.CXOLP,S\'G7:N2[#6;*=V! W.@_650##G;8O3C/5SL&9-COC M/##S;6?K5J.[X,M*T(FY@X2_H; MLI;TX[V"/871%.]I^U!GY^O1T9T5 MXPZG7C2(NIH-_0HV!X-KKAEG7YT2LQ( O09[!>/L#[C#["OYA+U!3.BLO#2..>\S+V*O+_>E MUC81W&2'I:>N=G?9ZZJ )$UVQ&5+' M/^Y%*D57CD*-MRB+=_#IVW/$I1T" /;,CDU%]VA,.\X#5>32DP:4 )]^[2VL M*JID !;V7U71 EGX2O:#8H\?E^%M4=]/=6W,PJ #>@K4KD=]@+5.[&Y/LF6 M&<4_?$*YV9[-I_Y#B)YX5_VOTYKA]SDS HBFMN+[ZU'A?M;RCHCL6$=OG= O0$Z"U1%Z!!VU[P3Q)LN5: M%G%PA=(''. (+U9]>5PAC]F ]1IDV3(W M'7F?'5_-9WAG,]N4O:_4CMZ$R;=S@EBB'Z*K&3WYIM;SC,W'W6>?63L='I"Y MKU2#B^R\T_ I#% <#*7!XG'WV04'2(/%S-VC/<)9DH9+YC[<_$B/K#SRS??S M.^D)+A#89R<U2OOSX58 =!_^C7]7_6I-0D4 S\_/;U/\>)^%4?#6 MQ\M#SOWMR?0X2^BF/DDHE?=AS(E,;K/ETB.K4Y1Z8;3=ZW-9HY>43K2M8J9A MRD;[X=V[HW>3@\FV8_I'T?>DW#G]?MW_Y"_K$?Z3=K:,XJ2"]$9SWA\=?3AD M8[$,[#?#KD";=ZX+4J8^/?XGG./)\:KTU_HY:_&"TKB;81=: 5;3EU"6Z2J% M[L=0/-"6Q,_NT0']ELY#VJWV@-%2;.5U2DJETRV1""OVD>[B3KE!;2"S6KN> MS'PALX-@/8Y:=!I5U$FH1I/UQ;^L1^S'*R2XO*X"!'#\-M:A8BF4T6*=N\?$ MNZ?345DCP3H+KS A87(<>?XW*1L%, #.(XU9*2##.COIQF7) M[G&Q6AP)#RWAN$#TV@^E+#9L!V!KW9CMAJ39/W>1\!<6]I&<1/SI^ M?I.@Q3K!9OT[/3.AX/.;E&3.=O^E0UJ)K'5Z$\N[U\G:I .8:[92!YJ0!\=Y M*L#ZA*IL2#G#_[@C7IS,$2$HD-WJ:M8%S"U$4\DJ"(0CVR\8!\]A%*U7D$DFI-(YR))D#_%"4^"3D^ MFG02T\8 DJ$L&$XA:? D6:+P.B/^@[>NK#2-^+CTZ\*P;,IY>"^G= _HIR'= MWTV7.-O)B^YI#$"N(C/]USCGNO "GB*56+)-KKL(Z*8^G(?L*#!-$I0FQ?*T M6:[BX)+^'$:4)2CA(2(4?$5I!&G7KQ@DZO! M><[.:# M6A_3UX*>ZMD)1S\+]F@.'Z"._P-JP)9^2%'^DBXUC?2_-XWTE\: M'^T_9TQ&E^%3>9[5)F5R[9%TZPTLD:M* +#2L_,-\U[G!%@4[I@F,*8)J!U$ M8YJ I32!/FWZ\>K*^P.3D\BC1,I-6Z,>AC=WDEU.3^:N$3.@"GZ+YU=OJ3:( MC7N!81Y;:+VAE,54.Y7T29:D>(D(C\0QX_,0/HI3!(Q: #"]+76W+$(EB4[% M59@?!9$[;I^:_)IUX2S9H VEAM/0W(:_BGR$T=G5RM7150&_ \^5 8MJY=M_ M3= \BR[#N>RPWZU+ &D47=6F&P-TFJ60A0@SCS\IN@->MQD0. %\98J6Z5H M ,;'9&RN%,0 %(O::"F; +%;6FW32Z"B M1WL1^I-5NC"T4V,L;XSE"0S6H_R:7^DW ":H<<2NA+YUMFTO!_Z.R;?D(O:E M7)2# O"A-6:JG!I()P&=BUT.[LR=KJ- =1YSY LWO3W"GG]P=OWP/Q_FG%W[KO_^?U!+ P04 " "S@*=8"\B1]*IS "' M;P< % &)L9"TR,#(T,#,S,5]L86(N>&UL[;U[=^2VM2?Z_UEKO@-N[LRD M?5?)=MMQ$GO.R:QJ/1S=4;=T)#F97*^[LE@D2F+,(LM\Z)%//]@ 'V 508(D M2&RJ\T=BM03L%_?^X;6Q\>__\V47D"<:)WX4_L=OWG_Y]6\(#=W(\\.'__A- MEFY/_OB;__FG__)O__Y_G9S\[P^W5\2+W&Q'PY2X,752ZI%G/WTD]]%^[X3D M(XUC/PC(A]CW'B@A[[_^\O=??O/E=^3DY$^OOGI^?O[R^=LOH_B!=?_Z_5?_^^/5G?M(=\Z)'R:I M$[KT-X2U_R'AO[R*7"?EQI&ZOVSBH"#P[5P$?G7R_IN3;]]_ M^9)XO\E%A#]K,"F:OQRUSW5Z__WWWW_%_UHV982\M&PKT_WN*_''W_SIWPCY M]S@*Z"W=$M[[A_1U3__C-XF_VP? E?_N,:;;9B&#./X*^G\5T@?XE*#E]Z#E M^]^#EO]W_NLK9T.#WQ!H^=/MI5+?[VNT\DY<&RT3?367.O2>?143 M'@Y]K]A/-?WH2TI#CWJ%AL"RA3*7B/L*$ ;2D5NC%X#[1_&QP9+"DQ+J?OD0 M/7WE41_"\5OXX01^X'9B__C[:<0 9KU)TMAQTX(2%_\_?M/T]W[6 *&!UCJN M2^[$;L&+_=AAA[S%5V[$PG^?G@3YA^'=MW&T:Y94L(L:_OCW8-/_PQ:JU/2( M:1)EL4M[?5%9?)6E2Q%9"T![&I[\=-=#YC]Q:F3O/- O_UVPG-")SO*!YS+< M1O&.0_*]LZE"6=*RI2E>U^K2K_ R53N<#MIG27:)G!;GYHISR2,\6QRS;+L8YCR4VZZ! GW &,WKI/:/8HG[^9_Q>*.MQ MZ'7P-]Q>5I-PM%XFR!)&EP#A&;$K=L+$!_"\I?LH;EH^M#3%[W\J_8[P[: =;B]42CL>]TK* M1)">WA7/P]1/7R_\@'[*=AL:-^C=T 2OZZGT*5SN\.\X74TIY5 7$P0)4"2" MY%RN=4L??%B2A^DG9]Q9KWJ;E9O@]G5%)*.=+>**@&R<[G<9>A& M,8-/OBRY2]F0?AIE81J_GD:>V@.[>F%W2"VMZ_[9V@6SN^H)/M)[:TQ6A+,A M44QR5@1XS>72]\[+I<>F"/[6%RVB+AG7O;&B(V3/;Q!WIE3G-5?$#X5N% MU^%L^)GS/64_7L?WT7/8985:RX5XY+%VC?Y8-5N -S8(:\H7@32,YT!\9C_D M"$>VJACHW_66B[ .YOE->6;@CIAY&=:!P%:KV/J*'SQX,]XO:]) MCS+)1OH;3@]KE'!PB@WW*$9M)A>";,?@YC$*U7O=#4WPNI)*G\*=#O^.TZ64 M4@YU*TZ0<(JSK7WOJ)O%S)W??[.Y]]/&Q*V&)GA=2Z5/X5J'?\?I6DHIA[H6 MIT*B+7G_S;O-%Z2@/[U_W<<.9*W?O>XV49.FAW_'ZUF-FA1N5?LC3I]J%G&P M0PEJ1)";#Z?.7]Q')C%5G,DIFN'UJC:]#C%+;H/3QUHE'>IJ!5%24)WU3.XT MBV,:IB*M >*'K6VSIG32CN9X75!'S_K"LKDM3I?4DGCDXC*G3DKR1-"?[]PX MI7!WP'^B9T[JY.*T'$(JFF/WT78]#X^(F]IB]M$.B4Q_S8(:2-R*24%U+F>[VSE!\"%+_) F MZK'ZL!5V9VO4JNYLM2:8G:U9T)'.QHF2@NI-L/MBDTX' M."BUP.QYC7*.14&@.;>;,78[R&B,W%_N'AUFJ.LLA;(-L$FD7I6U=\+NACHZ M'RR<6WI@=E,MN<_)Z1T,/[K-O6C4[@+IZ(YQ^ MUB[J6$ 39 FG2QCA&7)-Q)[.A9^X3O WZL3JR\$M3?'Z7Y=^93Z*HAU.+^R4 M=G">2KXO+2@3(&WALG"EUP7[35LECN.6>%VQ0[O#F\('S7 Z8I>PH^\)RX[( M2<_MA>+&O)X?UMLNQ1,;-&SV1:GA$KRQ25Q3_IC749C9(_\S<^*4QL%K9PV% MXY;XO5&AW:$O'C3#[8DJ84?[84G84/F$K9-L.,,L.7EPG+WP1!JD2?&;RB7S M7_R=)^V#--?;"S]T0M=G01>)J@Z*,H$]N^)TVB'Z@Q?WZ8?/K0=)/W@>>OWI M[OKJ\FQ]?WY&/JROUI].S\G=G\_/[^^L>GI3J4)EHX5X[U%YPN86"_!(,R4) M2W*FZA".\K@K13W"UH8+\;PCW1J][PIO]4$-60UXX96RV* 1Q5*Y@O'1Q M'7KPG_-?,__)"9A R3H]=>+XU0\?_N($F6IAHML7=USVLH !'.S$IDSVP&%WZ@%2,K8ZWK0OVUY):ZE,G!EJ*? M:-I\54.S"^X(U]&W-@"WM,<;SUI2#QZ.<^*DHKXBC/Y*<7ECIE%Y2I4KH@RK M0IK"G64G)$X01,_P"!391C&\H5CS\I3^?,?IPL[YH\:T-*+@,GYBMHOB5&4YAY(,FN$.]21\YM.6_ MXPWE1BF'^G%)C >LE3B=1!^?6AD\;V*Z=WSO_&5/PX2RF<-U^DCCVOI 806] MGKCCJX?V:QE=' 78((NAZ3Z$*>/AP19E< MM_[#8WJ]_8F!"4BDL$17']P1IJ6Q''&M'?!&H)[80_VWI$XX^17A#$ZB[0EC M(09'*T/BM%IS>K" M,O.QM7FVRP)XRO:,[F/J^KR4.NNYWD%IDG_R?RHG'#,PQ@T?\]F^/E&?FBM> M()M1]^&39"'BBG AQ9Y2*2?_5RZI@,L&M&1]0& B24QDD3D166A+*X[%? MN M,%K(Q[<*;6#UCU'D/?N!RJ#2GW'CWJ$>,CH5?\.+(4<2#O6N@I"5Z%N&%ET+ M*6-:?*(I46@R2V@SP/-3>N4_4>\R3)D._B80>)>HM^T[.^&& 3V=97!H[X$7 M,C3E'NJ\@OP)IT\J!N6^XE1G EW1.;':8O/4K_1UQ.3G>'0VHNX3C3=1.ZA: M43BQ-A^1MH@_L7!OW3I5M<4-4:T:UC9VFAKB!:1V<)4;FMF+[: M3KR?3_W+]8?+J\O[R_,[LOYT1L[_\Z?+^[]9CGN]^S"M'183VQHW8]2M%Q&_ MIJ^/2*317)294-U"PZ!B8>7*3)%U?..\0G:P7N+\46/<<=FN8U.R?+TEWGCL MD'=T@GQ.%T=B_%1*[@5=*Z-C%#[!JH5J_$&?*(2LH*#4WF.,+.UG M3_)9:9+\4&8KZFJL@SN;P ,L^=W7WW[[GN,)^P7 9)Q1K[[&.-_M@^B5TEO* M4PB.)S0']AA%""<:C;<-@-5P*G:QS,MKH34EJ!G0:?@5TORN[!/<2"4.OVZ6 M/E*R<0*>\9,\4IH2CS]XOB71)O ?N H)\<46M\?7]?MB@@+9*XX? LDT(FZ4 ML($]?712XL2,&#P;!E=V6&<2 JJR'O"'DA8+3.9"?&J?.8',;P4/KCME%@Z) M&)J0U-^):PUP;>[YT74[X,(:^T' M_[JA[/ <&+3-PW5>7J>T+-*;Q%U].,?(TS20L1EW. MEASMCN6<3XJOWK08GW4.@L!(DH/-NO%O4?7\D*#3 !8N613:OK8ODSH[X9RC M]--9?<_BL ?>=92FW,9N6I0<[.YE3*SVW2,;),72HAKI IX\;3F:Y3QGS5CN MZ(([DG7T/4CX4[;'&\5:4H](]JN2_]%$\*0J2_&[S;5'$;V=^P:M#7%':ONZ M7]T*;U1.,#.<;4'0E0XSV:RW6&;:CC1I([(SU539&'G$M>JH.AI80K9IA[RF M#@C.7V"G".9V"(\*)M$;R=& 0=T$ZHP^"A@-.&=T2V%_\#)THQV]=UXDA%5? MR.GNA1N"-+66L:BC"UY0TA5\J"<7] DC7=\YY#7U+&?'SZ9]RK0/9.TMW57) M]PXOPR2+8071.8MH[8 [C+MU/C M^^&-K?%&KX;,XZY1UU?%"*Z+3ZFL[1WTBGWW&0+ZX&O01G$LA3>\FH0TG!VYYU$Q9<*:%?;80E5D.8L " 3/JW1?6# M=9K&_B9+><)_&I$;!\,EZPFM(,A9N5=]$^?G0ER]MH<'FUOBCLT6[0Y>2CEL MAC<:VX0=7E:W.!WD1%?B:< 5N4R2C'JVGC^94,U$J/E?O_[RZ_=D[\3BQM(/ MY/W7JZ^_YO\CR2.#'3:>9NEC%/O_I-[_(.4O?6X7\5I*EB8I^X&-M[:FQ5'8 M&;P-S7!'KDJOPUFOW 9OS"HE'3/CB\+9HE4C_6@J%561^LUWK:'Z[?>K[W[W M_>KK;YMB]MOWJS^^_^/JZ^^_E\-7]7P@(_6[[[]AI/[03.H/?_@]^^,1*11/ M#=['U$FR^)5_%V'1-IAH:8X;+KKTE&%#U18O?'1*/'AG)R=< Q*C /*]T"ZD M#_PNH%4E\ONZUU*K.7GA1H(?L@U.M2A8$ M>$ 9@IS+BLA3#CM95[/J#^\BGC#]7<'%1GC?4B@50;US)X:"$4GMC96M[_JJ MW32MCKC#6U]W.;R[>^$-[QZR#W7O@@4I>)!W]1>).)LOK$3WG.K3G(>EM.=" M+WX,S>!K']-'&B;^$Q7)WU=1 BG?U]M[YT6%A;VIX [W@58YR)KN0P(O$ Q5 M9$1^=0D!(C.BQI$(EN0=,/V"7Y: G&3&V5;NM37KY"\CUZP3,&8XCMBTSRW0 MHX%:M_:C-+PQW2+K#$=G4P3JGL9^Y)V'K6OZ"=3^("J)3:?27>K$Z=M1JC-3 M: )U1,(0Y<0P/N*@L(1&-]RXJ:MWG\<:\&*JMN0&N(%A)[R&\N1NA'%>P4O<71*&#?"V2'( MF9K!$OF):IF60=[Y(?&B('#B!$I=BY/3PPUE"YC %4_698*(E@$;.BT) U0Z MJV/_L,=28EXIM[%8%QQ(Q0)!?$^H=1[71WE56 )99+KUL%+987D!7->U*WA% MZV4%[H',IH,631+S1-K6@G65)R=BB=3K*BFRAXWJO987LPU:=P6NU&59T=LD MN.D0OE8FV=N+XVGT/@AF/+<+>JZJ]7KBCNP>VBNN)2QO,=U'>#.7%V 9_1?] MQ>,\ 3^C&1"OH24K:"Z@VWLL)MQUELXMS1<1WL:7C_6PQK%BGD%?3&OE(W5; M%\KJU@L+5/426=%T00%J:+G8%)Q6[_=.K&@]*NVMB8_4[%X0=W196&QV+(7; MVB\H2DTN!IM#U?82> Z5ZT%K>>W;JTCSYVMR*'K545M*W1IW6'9H*0>EHBG>D.P2>/! M?[J_(]<7Y/KF_'9]?\D:V+G+^43#C%ZP+WR: M/^#]5S]]/,U84.UH7+Z4M(893P.Y><.$_,+\@3H&]I/3BYNM8"\\G!81Q*QO^QIF*B2!+0[XPZP?C:H76'6ZHDW+'O*/_BJLV"S(CDC/@3669&< MEYW2P#.;X4$P$F7*G+H=:*,=YGT@KBK#H#!8.S;U4SO/';)NQ0 M+ZV>=JL5#K$RTDZK7^.H:T0QC7JKR$%XGT11^\U2-Q**$I9_*%[<<%IE=?5';R<[WS6<(7_/5G M*P\/7(;,*#1)VU<(QZUPAZU"J_I93:T)WI!4"3K4 PMZDTS5]>L,3Z:6S9DW M!+<20U0SB*Y.N$--3^>C)Q^5/? &HJ;GAJ$\B&T*2KG6E=;5''&W"G8+B@.VOTP8[KF:_\H M3#[0;13GI53OG1>:G+^P)4@4>W[HQ*^7*=WQMWCAB#[B&Y+%#$@YX9J2(V[P MF\':QWE@D[##"\!S*#U\<2!M@1+P#5()2"H)R8:+6* \%U*\P%T)10JIK$#_ M JRY;3-SN?Z[(9,JBH+0IO[(I]HVGD6>=@&=]@U:E1;0919Y;(*9YA*:H==!RXM33''4]=>LJAI6J+=R#KE'B,<^80/VG) M2XVHFU3'?"ZY%\]^\#N*P,/*B=FAHA^<#EA6!=W MJ'^6CWB5$;@BG+*5W?II=)Q,GP' 8E CV/Q380L&:#GS@RQ5U@U1MUX6O!QH MV08P>=/E0,RAP"9!)J>- F9,Z3FA3@.@QK!6V.'FED+T^H'/-Q)[+C64G9<% M1NTV:,.FYI[+@:H.^8U/CWC6?!X9J_S%PS,_<8,HR:"PP;2I@ /08"(#_97Z M#X^ #@Z3R7F@#757K*QS"KG60JQ/&3RX?KT]JCK3MO[I2P,W5@RRB P9O0C@ M18YA:HR.CYP=$?S@9NIQ66*;2Z]YS6)S26;) 0J #$L'D&=0-<0D)V338""; MP)D/=;KEY_I3621X=EE% SY5)!8'H)V*S 2A-A>6PTOC'4O5_E1P0^E J]0?[>Y% B^4#E5D@LIFI][R+^?D\A/[][FU6R@--H#C\$^4&>K>>;GA;VRSWT-107I&Q7\[ MXL@(8=RA91E'%&X &=1N7T5V3H7[I?47@$)D-S_A24+N_;\)&8Y+Q/X)K"^#C(:9+L\Z)Q"^0FQ-1>7%/(226"^ MR2^)3$#F(@\_EYL(P8F07,9J6S4]%O!="J.[A=%3R4Z +B]!V[@U-#VX*$%57.\0*4C](@W!W2F;2NR3M/8WV2ILPDH22-XL.S8 MP>?9N)G/'O8RCZ6%]:F3/%X$T7.BO\_2U 5W'.OHJ]A!.6J/-Y*UI)YB;V1] M]V=R<77]5RM5WUEP@K8W]3[\/I30MGRJJRSM6:#^).?^C1INE#75>3* M%''<\6'6A@=790Q0QAMSAO4;DT] %C;*?$%*<4@ESTIQ2]9V ME2X.6RW>U!KAQZ%B7^I/>Q5_QXD&#C ;N_Q139O9/ M\3X#N8EBOAH\G#C/>9V]^T5OH[:P-UU>ETONY#XJ,@5I[2KB?:2)6AT3CHE8 MX0[[*>TK \@4?/!"T:3:#@UD22B JU(L>4QK;\@U_F +(G\+-'9,)V7B.97D=7K>,\#W3E!YW7 MX9F?[*/$!T&NM_ R8)J\5]BELQ/NH-33N?:R5VL/O$&J*?=01Y8S =B@(O& M(S_!Q5(UKHDU?P?TO_@*,JY 9_-"&LROMQ=^Z+#I?_@ #P"J M=@P[NN".81U]:YL"+>WQQJ^6U(.7C!)Q<-Z2/.'T[:RMYU38HQNV-DZ2C#&A M_ EV*Z'+MPD2)M-%%)]%V2;=9L':=:,L5(9N1Q?%/1MG0/,I?#&\43P6BR(>1D^T9"1??UK[*?T+'I6K5P;&^*. M4+5N]6*TAZWP1F.+K,/KLN8D":=YXC&B5@)O MWJX>:7FD:;A(F4N)2YD*6" MT+7[%)?A&=W2.(;=];)8MM),>GVQAV8/"QR4CN[NB#F ^X@_HM8RIT[>%7S@ M/@TI6-6*RMLK,SV#(4J-Y1+P-E_:.-"Y/$H[=?9^Z@0=Y^V]""P- +ILT8X" MJMY+@H).'0SC074JG3.T?20]HTE.'UD_R&HG+HU3V 4FU[\2"GPG8T?V#M M/K9#L0*YI2[UGR!_2MN$C5V7!@YJ_=MAX;C?D@"A17K#4%!P(A4K-!.#":Q0 MD<(T&RA60'Z/R7^]S]+"ND'C]GB6.BPID)O$-AS!$@LTD6M6;95^EJ+U)J9[ MQ_>*)4;Q/'?H\4N[XH1.VU*:Q)86WWULU![X.I26A B]]#$,%3GO\LDIF/** MV_56S[HM&:FP1KX)+U8 D2A,PJ^TIQ;/P]6SH1OG== RH.JW-#!1:*ZW ,@[ M+0DB5*)/-?7/^2!9^9O6OE1SWZBFO6B.,P:+U89#'P,==UU@3"OT[PSK@WX+ MBVR5].:#&S@1B16>^#9M@T+90*GL?.7#FJX YV4.RLH'"EOUZ8\[WGM;XJ@@ METYGO)'?7X5QQ;$4-^>+V^&DY&>OWN!\UK"VL:=?%$!AJ%X$<"- ?UL,J\>! M%P,&Z&"_KH:56E8S6TKK_B@B_( -T&2J&D']B2\2=P;:4 .3>E)>'%X-U6\B M+"O%66R-H+D-VEDCJ,FD=FH$.:]Y58*U^VOFQY3)R^R1OMXPU=-UZ)VSW^Y; M%E"]".#&L?ZVJ%TYT.Z-%X\&Z##X)"!G!14FW'=>;)K3.)Q0=8=Z(]DE%';ARR^G MV2YSW5=T*?62"Q9(=TY K[?L-UX&8MF&GLA2?!V3"./R*9H)W"[8LY##%%FQ_XHO$G($VU,"CGI07AU5#]9L( MQZHZ*TO=@IW;H)U;L$TFM;(%>TOW^6KQ>GL5A0]L<;D[HQL5HK4TQXU177K* MJ*-JBQ='.B4>?GVJ( Q3?"!]PF)P1X"XI2W1Z74%58-25>]8U5DW/F]IP'=] MHGOGY:]^^O@8!5!J_R**>]4C'4$.=V2/M5/3YFA?6GB18;1&HS=-<\ZP>0I/ MX4K,>:V66>JG]C]PF=U>O P&>096-/#XN0N_K!*%A.[V0?1*:?);?A0#IS+/ M3NS9JOU6;2^ED?O+]9Y/G)"<"2FYV-]$G43W@A+,-1*N>;1OV@E"M@DR>MF%/LS[VV+8A@7>P!^@@_V- M!TP;J%-9BF^@OLL*Z\@9K=O24G:W4\$<\#](2WER C&32M+8=]EDBI\[AU[] M%U)+\5SU\06B_'&Q\Q>7E_*Y91.S\^V6NFG']JLU87 CG-UO5'N8VHHD>)'7 MLCU&[7;"@H7_((FT(D(HTG1GT?).\5NSM0VT%[I=;V5]K\-1EE5\K6DXX<;I M":TK@_ $;/ B[)3*#K[0O=LS9("%(,VE(FQ22XGXF3_7 3._*5#RB<:;J!TG MWX[%WN $&,78AAY([7P3>Q-=O/!KR0ZS3FRM[$0LS+#YN]G"='Z8IX@S0_,? MJ-U9[13SU[<]4S4^)WVCLT^[LR:@MVJ LHHC*0'O\'?JA:81H^TY IV'K4>S M]JW7"%$GY!S*"&Z)4&(Z\]RE3IPNTD ?Z(,?AK [K3+3?.6:/C$X8P)629I.CZDW:%/""\T ]QM5QROE)5P4@@JIS+\[3]E;I MS):YR_;[@)>'<@+B^8D;1$D6\Y/R,#>78SEIUG]X3*^W/R7B1M7U!IZ5@)._ M8JI\$57EKZY@DEL4OWM5)36.HH@;8@Q8JY:=.YP<7O QH=3@O%?@?1)M3QAW M<7.1%/QA;59(P+/UJLI27(BRVN2K%6"R:35.SBO>DHDD@U'98"%]ELI-!=QH MEJM6Y@_L\!K;GI\R:$W86A\*8'L?LO13E/Z-IC>.K\KDZ]$=-R[UM4-]@:K7 M%R_B]-9@^+I O#@E"9;\+JU3I!P:,!38Z6L MQWF]Y=F.D.S,;';.DXT[UD.Z?7%C02\+R$"@U1$O"O03?S $7'\Z._]T=WY& MV$]WUU>79^M[]H^[>_:?C^>?[N_(]04Y_?/ZTX_G=^3R$SG_SY\N[_]F-1*$ M!2##/PIA$V/]XJOV=KOZ+,3SVS1N]/BF#@OP]%:Q!Z=SBWL9%56V9F=T#]?K M\V3EU!4\BW9L:JHZW5>TQ>VSK1K67\.IJ3,MQ,K"S*UI['J^HY 2P]+\-\ MD=KJL5U]<'NMEL:RY[9VP.N]>F(/WF,HJ?,-E1,_+![]ME-?1&R,GCLQ' G MK>ZK;(S;;]MUK%<6:6J)UU,[Y!U>:2/?+2_H6L%7U\UV&;_ESP\X87XWE^%$?N_!:?\'=8:+_+N*DH2*!P( M/*ULA2_#%I;><#S>(KV-@N BBJ$0-(3:/G07=/[(D+2JS-Z\!>'&AS6%QH5LJ:JS3.QH_ M^2X5"?NWU(T>0D[E+TZ0J1Z(GH$M;L2:R^[UE>FT//%BXFR:#U\?EP+R!QWJ MRV52+9=71%6;#'+FY%LJ/#U.(JX <^ M12KUK=3 =N$ M4B;6FLNJ@VW3:IRL5 N;66SOO)*45\A&5@^[;03H4Q]["!W*!FISQ03#\%[01O54QMKTBT<\LX/!:GD ML##A//#%6(/U&Z>:WM&.?/%A:3J%RF5;FCDT!>TXWY I7Z&\H6#'D:A4\T M9G)]5=)L 1\$DTS[NURVP?DZ?G!"_Y_*' M-$G.:.+&_CXW!!?O>BL+=T]?T@],AE\4=AU$"'>(#;>-'$_]J> -GA&Z#(Z4 MG"61>/)*:HTA1'X&SH2SMG,9QH:)L(#)VG6C#![M?+AAL.KZM&NH;NV &QRZ M=3VX/:MHC3?8-60><2?(<'I@'.8$/U-&/KXQV- M.P8L_=ZXH[ZG%>JU3;2ZXHW[O@H,KW["^;1<%<3@\%W#7(_NBW;YUJ%.M^]B MG=X#\8G!2M^>D0*9O:'O-FM81D#?HPB[]D/ K82O63KP_#!WP3B+87D MK'QXI6/HZTL#-QH,LH@,";T(X,6%86H,#8>"&]_ $3EY%5^Q4-L8-!.TZ MR@'?W!)O8'?(._BQ*,C61:>*3]<6-"+:W&W87CQ_P&6X4J78=?'5UP1Z&.OG(PMK7'&Y-:4@]U M6B N[F>2C[P8O<@QP>*]7:-'5Y_E^6_K:-+:85D>; YW)1>6Z-L?96;3VG;@ MWM$'X'U+]U',7VON>,1/W1QWN';I63N75K3%&Z2=$@\^>Q:$V5IY&\4[>_47 M#_33WUG3Z[DLW]7<0]/HMAR/GF)/J'#ND@FJ#;(Y+6 YO,5]_7OG17L_K+T' M[G#6T/:@"+ZJ.=[PU1%Z1/5V*+MP#_<'D7AKURC4T65Q_MHZ[K2U7Y3'FL/9 MRF51#3$SZ6PG3(LGHVZHN.+<%:-M[7$':*>FM9=N58WQAF:WR$-]M* ,-U[S M._O6@W(Z;:%.4QZ5I;Y63CY+M+G>UA\6X/4CX1W-I'IZ(+^QW+49/IHH[A@W M8[/:B>LHBGC1PI!>XR[E'U?^^!)UI'V0;=$U4HZG^D9BK=UJ@X*MF>0;B+8. MQ8:&FS2=CK;U*AA%'64NPZJI"@:"@P;;]E/!E?/OUP>F9OS<$_M3O9 M]5(OUZ_[M#A)POH^4S4$-8H!F6K%K Q&K/9P,X73Q$Q^(9[NI,?K)C((GOW16XXHV/+J6JKV)O($ :5VZ]J.P M\! Q-V2T1@>*X=.289""QUVV2>BO&1/H_$GC-+:E.6Y Z-*SEF"K:(LWR#LE M'GR,4!(F@C(&'^W,#6]IORPO;<\#5S5>CI\:/.\Z=%3[ \R,REHY&1&5:P\J M [Z*_^\\&='MC#M>^]F@=C*BU1-O)/>4?W0%XXK12E2)?"4_Y_^U'>FQ#QH,((,;%X;:14:(OC3P8L5@388GQ#[7 M*NK66,Z-'T\TWD3M"#*[@6XIO!L8O)*U%^TAEXK7E1+OPR@-9RG1T7EXB.%U M(?[T1EXV\1[.\C32&;7ZXH:27A8X2$WL[H@7-/J)/R+-4.("$XVB,.?/G)/U MR<4\9KAS'ZF7!?D3I)Q# N>"!6L&"YM7LG/B7VC*L6(?1U[F6BFHTUB:&>K+ MK.5J-C(0ZCD/!/4:,Q# M;!A*AAZW,)HCZEJ"FRM0=N5-'0MK8S MJ6Z.%R5TA#;AY&7%4B0SC"GU/GV$]TKYVZ.0-.0ZEH,T;.F M_:$RH0SIA3A$R'-R55JP$BG_Y6'Q;MNC &J[1CQGXLCIK!3"5.J?K'>0"2L> MCCU_@9MV>OM3(TGB'#!,VJM697,$/;QS3B-:C3A0 EP*&G$I(;( ))? -EJA ML)N,4(YL)"K8V5V.\OK9.O#3T04WO.CHV[PB/6Z/%QZTI#;AQGD)>!2Q/:G2 M\-Q6Z/J!7^[W[V.?_6+OL!6HPXBZ8N*1I0F#%0_6JIZEPO&5'3XZ:1;SC:_K M;:U,?K\PUR:SE-#O9Y=F.-"CL02(Z*F)"=BH6,*_CEZ40+*K;=5$,=TY?LCO MR95 LR^JE+"_#T27Y@VO;+=SXM?K[?^BKZ :T_*4+>;\=/T04WZ&W[VIU9\$ M3K088X]R28.UZOR='7D20C&8C&?UW* M1PH!;>WUSVVYVLZ^;!S.O<$P*$ 9A[VTG*/LQ37I LU[_ M):!Q#TL< [!&YZ5@;A]59IGD;LLK'&XACB50G<,T,B[ I+:ZP%)RQ(6<)< )[Q(4M$Q/5%) *PJ@^ 6+/S$ MWTQD_PKL5IJJQH+#5[JDE[0^O.9_U#]ZZ4L--[R-M%+S04PO4GBA:ZQ")D+J M^/T[B?<*,FV+%DB0"8/10IJ2Q FHN'40[6GL<-,QA3.&&>/RDPT"T^$S,H#/ M+L/L,S_(4NKU/!/N2VTIP#3(2LW U(O4$H!IF$(F8NSX6:85GR*Y/.9R_OA MR9[!-J5QO-PXOGCGB<$326R]\R3M-8:ISR7SG^@=S!CYS.W\Q0TRCWH7+#CA M[8DLS2^O]GVZ;1)&2X$PT[9M1C=37)8 ?,9U-7+"( E%*JE((18!_R"28,U MB@\U\5B[.C[FD)D06K.MN)D6N%E0VE>%MF1#72=+*/1ARU:ZW5*XXAME@4<> MG2?X.PT97J?^2:&ZY65L^<20_ C0.H[A7AY/0F+3ZL-GB-;/3BQ&M>[Y^FCZ M2X%C0Y94+'['$5\"^)I2T<@"67HRK/:TF"P.7RP[ZQ<_:3BJ:&Z%,X(ZM"H.'AN:X#Y>;!-XJ&]>-IX8@@[@K4^" M(W^<(9$,KV5/7W_HP+<0=:8:,Q**J^2*BLE-X UDU3K'R4D2BJ 54Q+!H!7]S'WWZ M)'*FX997)2)4%/)\_K2S&82Q1*V"D5M+$)OF;ZQ[[)E]%W*EO&-,=_5 M%F>T:VDH+_0:&^)=M+6+.SRF"ZJ$DQ4+*3O'_%UK4=52],H/Z65*=X>+,Z.$ M<3N].=O5MD)&4\4;3@9U&[SYH;'AT;'? <(0+HVEC64L5OQP9$7SN>S-RNH4 MEQE#!R?PC+;,<8Y[#R*XY^'C5#);/4RY8,[+HEC*=)_3,.4>\W6^QTR.P:(L MI7-X7F0O^?;/G= MALN?HA!VO:@GUM&M #^"*$ZH,6NSXQGB4(I+F2Z.UL_LW#&3Q.F>%10S@C1B M'85T-DYE$%A3QBI9"'6&0R[(BI2B-._#S3G]1&&^ 2X(!P['/CCE;H"\KW&P M2RM,PAI$67H+>R+KD#7A@3)FW\ LQR4,)I-:NVTOPB"[I0Q#TRIO=HR*J_.+ MA)]?B' 7YX_[EL.W&EA 8L]#[(0I\9@"TNW'%92%@]0?OJ%96_GFH&-K=,/Y MD51KFMJV]8HH3IU61(A*;DMKY])B*76\M&\ CBU<%X[;N0SB*AW_0]V3>8+- M[=U:(WCF&DVOH=3\_:,37N\Y7[@H+5:929+MQ.]&#Z"#F"QWS!QN4]UALC^' M98^,(_0U.QA"4"<^FRUO?1<&,Z?B3S*(8"_C!1"@W2MEW=G0!_DO.QCTX)?U M:_].#LKBP8>4*4@B06T%^[Y!YO&'GS<,L,,(G@+;^6(!^ -YYWS!885#/)0& M7)%W&^E73Q$,OKP>52XW,R;[UV^3_#8(:^]*[3W_R?=H"-*\\[X@L9_\, ,WV49*>%%E(Q51A]APCA/ZC.4YSR0B(1JZ+ M+U]*1R3QEC N6S8SU!3RPST,P#P6=6+/\CU2UXTSZDF%27J>GV@0P#F.#K>% MXCYG1^\EG(UHZV#F[2;.K%;=!]T!R*P6@0VO*"P*E#NY?<95YFF]M;XY[#:LIN=CYZ7'-Q V+(#WG,.A&;V B)$=:A6!KGE](E5R<&L'G,BEKZL\&U&W MQCO[T)!YJ.,*TN"W%7%24+1'W/IO]N,D3B4?9O^J_)?] MX^^G49A$@>]Q.7@.>T-A@-:&.'VU6S?P4'4K?'ZI(>M0;ZR1%3X:^+6IW%)*;UJJFZ-4X'U=12 M'M(53?&YJ:[ 0SVUI%M,MTWM7)W#"53( R#AA^SYJZ+A P\'97T#W7XX7;&W MYL5VEE8GW+M:_508ZK E%^:R3)@8-J/Y$8X?2B6)\^449$E(0 S'D@*,BQYQ M)633:NRW\'IUQE\NB21:D,C(?S_KAMG,]K54$^&.^9>XK)HE?DB3I "\AGF] M;A^<6-%+X]I15EL'O$.8GMB#]SYS8J8G_GU<5XC0./-7M4'NFDT:U5Q1;H#8 M]1K%'.]JAJM!789)Z@2BQFK.1#E/:FN+TZFT-"SF0\J&N.= W6*;>$7MD;*Y M2\6HG.T4.:;EHQ8BCVO667<5S:LK4305-:?1C@4CS$76H7<9>AG,1EHBJ*L]WFC2TK2( MK-;&N*-,3_1I(LXM>?,3 ;_D;B/^IC7$:5W5BOY&Y\W(*&5AL%1(HY_9M;=$[ MHEK# V\\;HC:)5O$->R7YO?R\]?2F 9KE[%(HI@_)Z[>T&_O@-,']765MO9; M6N.>MFC*;FR3OVT:XY>R<$]V*FG(7KCXW!O_4YKF4JFMJ8C],7 2@)N_L@EA M]*P.5%4[O/'9JED1EHV-<$=CN\@&@E =@ _ FGOBLV!>Q!QA[D8?HGC>,X!I M+/'CH9+&=L&8(7_,4KB%H]X%:VB#-\24&I6[8(<-<(>66MS)QS9@31XX;RL# MF7G5.&K7K0BFYE:X(ZI#9B.C%2DN95'B!$%> M*^A@8/)GKI(WD=[K0C]$-R:O.MX^TNB&,S+[ZJUQ>_(*_ZM$VI)/<(ORRO); M0I/K7FAZ*TH*&TTLZ1')'YP BBK>/5*:7@$'6+^J,\U;FN..W"X]Y8A5M<4; MJ9T2#ZXB(@@33ID4I"WFF#=IVIIPWMIA>3ZK3D57MUZ6WQK:Y59YKO%\%I?Z M3W!I*OE$U;FSBF8X_:]+KRJQY;@-[C5(J\2#9S%L% ?#$;?(!B113-S YXL2 MJ/SY$$4>_V52G+:DCTY*'ITG2C:4AL2C@?]$8WB7F#6* F]%0LJS:]DR)GKF MC@R$O"C;I-LL@.U??B]OYE29":PG$>5*VQA4CFOGM=X/;VF.,Z!U]92'$U5; MO(-)I\2#E]I&ZAN.]M+3*$QCQTW_ZJ>/17[F.DEHN@Y+I5_7FX0W4MBH+PW< M_CS((K*3]R* U_.'J3&BN 2W!3/9)XO0E\D;IPQ_X_V?K4NWZB M\;V_HQTC_%!:N$%@E(5D5!A$""],C%-G9.[+BDA\2<68E)Q)] 1/OC'>MN<, M=@SU4P@O+044*FXVV\K*E"(WQBW=B:SE1JNT&[*S[R+P1,\"#?C1WA$]7FB* M/QH?2CX*[U^1-:]#:Q,2)K:%4)#-+@I+,'S,)%B07D8FT0)@X3Q_1?4>RNP^ M7&\%>#IN_C=FI='HH<_B#8!,3WOVQB)-^@N'K+Y:SH!LA4A$R,0?QY6DX@T* MN?#BWUR&+:V5EM9*)%;\Q7D\2 GO8Z1QQD4K5JE17.T0WU*X#^8\J)Z?ZM,? M-\;UML3!%HU>9[SHU%^%,6^R%)Q(Q0J@J& &/^?L;&W8S&0,08GOVI2G,G;? MM_XQBKQG/PC:7IU3M\8=Y!U:-C]376N*-X"[!!Y<>U9Z;KF@;/QQN1Z>6LAP MU7''KZD=;N]4:B;[Y5$CO!ZI%G7P_>W2_ZXL7\LSK]OI(^M'^>5A7AO/B>-7 MF$"*!VX@^AYRGO9?$&9R_13ZFJ\'2XUQQU^[CNI7@XN6>".Q0]ZA+GOX6C"X M*Z>,X*7@"92LBLMG#4K..OA=[O:.'\,-HZLHZ1H!CQKC#L-V'9O&PGI+O&'8 M(>_847%%*L($*%L=&0TK*:EF>2@L%/PQ[@Z]HLTR(JZF45.@\0;XXZLNYOBP MXO2F"*8]C?W(.P\]G8 RI!50(95N3DIHZ.7;DDR8Z=2\2YTXM:KHAC[X89CO MRC:J.RN W' )+D,WIDSB,RK^VV$<9:=E0$R[SDV8T]P#/PAUR#T>E00#4G @ M[PH>7U@=]R?2>^UYOK5CDD*WBRBF_D,H4O; 'WD''.W&_@P6N7BI:;[V_I$EZ<#W MT@TOQRE46\YV4!V9>@-6Z.W]EX$*VI90K^-;.N/'!'T53*WVJ;65+K47+]/9HT=W.4>IEF#)-_$U Q>W93S0]?W&#S&,+C\(L';GO/4G@ MAH8A]I#1H4]_O Q2(O!@Z0?^BD]N?*?("A*SOEU;G[/U78>^ZSVX'5OB5\9 MPK%VKUU\&OYE#DW0MJ&HT0TW"NCJ+4=^5Q^\T:XM^501/MF696=@3ZZZV-@[ MHUMA@H"; 'ML2[.4]0Y.$?_9EET^B-!BX[_#-IJ(H*"R2(SHTF4JU)#GTC)C M2XL("Q;2M ":A<2(V15ZR.BC?]\% UY8Z"7]X-/TYC7!NY)3>7 VS89BE#K! MV-7!1*L">\5?);BYWAY:0&&HSDZX0UQ/YUHYV-8>>,-:4^X1MS-+\G"Z?13@ M5M8"VBQ/-+7'':(MVM>=ECIOAC<8V84U< ME+B*PH<3%AX[ IQ(Q2JQ>74"I *A0*9[QJ?E?15%4]R>VJ:?[*I-[?#Z:JNT M0YVU[J K H0MOJ9RJ&/K2RK*QLOR3O4+*LTME^.AAEY.:?91P^^FW-'0C^)/ M44J3LXRR/W^O?#NEI2E.S]/1KWA#1=4.]SLJG5(/OY>K\?8PW-/Z]LO??_/= M?R-"$,(E(5Y&"<@RZZ,HDYFB0<.I@N_;;[2#3VJZG. [U$\5?$6[907?D=23 M!]_OOGRO"+YOO[$:?,9,T:"AE?( U,UBZL$XW/HB45,[G.'9J5FM&,!A([QS M,;6H0UWP'F9@5Y$3D@O'Y25+3<'_^:^9OP>$X7ZMA'Y%,YQ^U:57 ?E-;7## M?:O$PP\B*GR/*23U"G2G!3,2 M:GJO'V)*>4]>#/B#$[JP([/>T=AW'7)%G01X_'=GM_\?\#]RZNS]U E6Y.KJ M=-9!8Q*#ED3M#1;US;6KKK>XE:UQ!KBFENJMT2O\E3NZ!!Y>H[JV&6J_C,=4 MBO*MB_MBZ\)^$%Z&S!0T26^=E-ZED-UP0YDM&=@K2[OU(K"D4-6QA3IZVWHO M):"U=# 4XRM2<"/ ;D4$0U)Q1!#XDQJDU#]FA,D[)V&SE[T@?YA<80$93O,Z M0Z*\KY:UCKHL*?J;]57'>[W]4B)<(;6IG7A[V<63JIF7N(ZR-$G9FH(1MI+\ M-*F.]\!]"K6>:+R)+'Z\RD<]:U,N\0++A1]";=_3*.&):TICJ%ICA]-6+>M( MVM@4,XBV"SQ\3I2_S9,3)IPRS[FTE%H]E:8_A8Y(RF+*0AP2/TDRKK(++&SE M%MSGI],M!]A2$]P!V*3/8?9 \7>\H=8HI9GYR22;>)VCME&%^"C- XBG(\,& M9M8KLN8:THUJW3G_FATO/KQ^=%*^K]QQ8[NSTW(P1:VS"F6.>RP#=UKD-K52 MNO 3ET7RWZ@3DX*9[:O7$YM SH/EFT&EWIM7;HCD!]MAG4ODT^26[IU7GIA[ MO;V)_=#U]TX@7A+QH)BL^'X@M88Q!Y)=#C2,L9L*/(;07 :\C-+,% !50L"C M&H48$)NE(,4C0)XH#36J+#02F8X)O I5:U)H1DN 5!)"#"$&(D 0['$U@.P82WZ''(D#=^^?( MA $K4F\(>0[L,QAPF4C=[*+#>,G. M#A?,C@?V&$D*)T:8L$^1)CJ4#NY4TM%:C=UAW)*@=EQ(&&?Q\&#"VD)^Z#8+ MX5&^7S,_IB*/!;),(UXR(A&YICZ\UI0D&3SV^>BDQ(DIZ^%1MBB!>_>;5_(8 M!3Q;-25;_P5>D8\9-V#JA[S)/O9=R@E[/#=FQVT!CSZ!UF3+5$X?65^^('L% MP-I&01 ]0Q.7%]E-Y;]^2421#/Z*%"/@[SAM)PPSUD(4O$_(\R,-R[\7OQ2R MP_LV3$QPXY)^ ODPQ;L;6WY_MI3RU7WQL;XAQING53)S;AOO3>(JNQ MY&-KM]WKRGUR=NWWW5N:+\DMC_54.V?5=BDNVB"QL0Q:H&W\XON:T?;$[9,O M?W4E[$TN^%TS+YZ%[-PG3ZX9]R]-#!QF:M^6;=D3QA_\KOB M_FX4^P]L1AD0E\M#G/+N%N5)T[RN:T08N?\W"U[)-[]?$0ZF<\XM9[%<@WT$ MH^HZV^SSQ%D4[]!R,+J=TN"1:W5Z]#JD0WS6YXT:V/W@6Z MZ?3!C6Z]-#!0E0"PRQ,\B<>8$KX$#. NZC;GNV*H16<%JEF,D#,AP(4QD'6LP5R0E3Y' M6"#+G!&Z((MQ0@E9YBQ0AZSC,Z]9-CUNZ5,4/+'U@)CR%>*TEI/IZH,3U'II M+.^!M'; NQ&B)_9P#,NICRD_,]I[ZZJU[!XW-L3MIVK=9.<\;H77(UMD';E0 M+5'4WNYQ7;G6G6-%TR6YHWK'N*G=4ES2T$[QD5,:WB/^P+A 380/41SS4V=U MD:Z6ICC=34>_8KFA:H=[B=$IM>'ZC#%]<&+^> APYN4^R*;D/>O"8C+5*\TJ MTL:JH4;;6#/:6IKBC;8N_TD15K7=@T-ER."ZH7-<>MEN&&AA8T!XYH>#ES03T:.\%%%GH),%!.KY0- M<;I8MV[%U*JY%>Z)58?,([)1R5:0YLG>"9] S3IKFDBSG"SA='DD62P9?_U$ MX]!_>$Q%I2$VL>%%%ME$JOS+9>C1E[MG9Z^,25,T<8:O48LUE*T?1A#ON&-& MK<%3=<&=E$Q(R5^,6N]@,O^%]';P\R=80XY=;S MJ;-G?TE?%5/(GB1P.N48>]0*>/3HC\^U1VDQ^-(T//H2;&4<&*> >N4=4F&D<&]TSQ6*4-I^DG.DC@%3[*-8OZGLN8S5# 1 M4L"/^?5)\38>M,M_463VSUN,PY(5%<,**7B3=+<1AJEAK$[.P4N3)4^\CTU.89;:>Y/V\:%X_>&,2:-E MGX,.2XK\)EW582ZW7DI,-\IL+(#+ET+.CEW71J@:U;9X%\7+RWPR-3T4$?K! M2?SDCDUL'>\ZE),ZWVL9J;7[DJ*WVP[J6%;W74ID:VA@+,XY+R*8076O6MHO M@KB?T!9"]833-E=Y6#C4WO,YOPVJG3U^*"W_PIU/,I?E@^MN0EDCK+J8M@9Z&0S%R&^-CZ M]>U/9VZI1W=[")0;**_>K3U^<@3[( LT3 MG9:.2YKHZ*@Q9J(CWEFNQGS)O?EM^RUPLCC?F5+_P_E.;7-50KD5X?PL3WBF MM$1M0U5\<_).AKLO#.*;+S][L-\'O@MKSX]._."'4'R$+4CYX^!7](G&3,5; MB)1F\PPEA1K]1ME' L-!=-!CXSBM#)V*.R5CME($S@2:\8T>^#//NR1!+@$$ ME1]!)(D_TGB7%"N+PZKPF%XY+Q1-D6K/W6G.E#27 AHC M-)MELZK^1F'^3F8A"@(HLF"_PRVNE6I[JX"TN-E<%C -*KYKF35ON"3UAU*/1O:X\[T#HU[;KYRAOC#;MN MD4UGN?_,R<]6=^*N>*SYCHU33NQ'BOHWJG8XW;-3LZ*00&,C?.[8+>KP'$-! M;.:2.07;G\)D3UU_ZU.OL7QG5UO$[M>E8>F"JH9(W;!3W+&NN"(2;>,E/<^? M6 A=;\_HULF",I:4A3T[FN/T/UT]B].-MK:X3S"T)!]SH)L4^!@71Q9PF\H) M"07.8D^*\Y[UJ&%2M<\+S7+RI*!O92I=O\A\G:5)ZH3P9D3KMKA&-YRAVU?O MVORZHP^^ :6WY(-GVX=W]XG$8S7%_OGW0NN0/K!IF]>V^IU!^23Y@7"BF]?C M&_M85LBG61Q#*OV(HE(M))"'^P![="VM5?T1P\ 0+8P7EG_!"2=N=PCZ&W/"CI9:DN7-$B MMBR0Z:>2<<01[$N881!42D"8"+8SQ.U93++#EMEA= [E>!B*P@OT MD<9G?N(&49(QPZ\W21H[KG))HM<5.;CTT+^&(QK]$$-&'^D'HP-C88UBM[!G=]P;B$.5&;.G6$\*@9RVQRCP8$T>4NJQ MB4 :L=^Z@1.S!M5N@)P^$GK$<=TX8XW]_++!BOA;]@_ KX8F74=YZ+^0G MV3X*K6]?SFWTG-]!\I+(?Y!L=9;;*F<[>UJT+;.HDI1RYR2%=TIN*>XYJ?W, M%'"?/L)K#)?A:12FS("=QS5=[?&"LI:F!02W-L8-N'JB3W!D0US.F>$EFU]P MWK-BWK1ZGY:ZY?2M'MHH$S%Y/8&69V*U.N*,X?ZZ:R4UE[WPKHYZR#Y!8O(J MKY]A\1':=@.T/DNKV77)+J]^NE:GWU+=WE!.C);CFWZJRICKWS\WS]3Z]UYR M !Q903\&RJY+#8-C!89&PG5(HI@X6[:"(M=N&C&:Y/UW*\)<\O<(/9]Q:7^9 MMD__17O_L25Z^'_5>;$1T*#"!#'P!WPQ<,&L/"($:MV7' ''=M /@*KO4OV_ M08,)W/^/"-W??QHS M2Z+]K]C^S0P_W+OHMU_V,-1KC_@==_S[=51A6T0WW[FQ?)087=Q!+U\1_J>_2\G.%N+I& MO:50.Y26+^+(Q7YX6VNE?N8Q$R,7P[F+@17/D$B'4\*AL5[KN]AH/[: 9KQ7 M'1<=\0UJC(UY(/D6H]ZDJ11Q_[O)XQ[*5M2*V=^S_R19_'I[_!K+*$(+1 0M MVW3"0RN5A6*%GDXC@*/(3]A'/A0-=+P\3>:XG#C\UHUV^PQ^Y'\]*#LLXTA5 MJ14'D$QK1XWR/H?O;!3\YW]GPZ*=Y!&G P@@#R]5K(/!I%'H^J.8$E9JP M=9A \HV<$;1^8&,?W"D[*&)T'?L//NL>O%XF24:]6PJ'0HETFZS3P#,)L13D MG_.;-(\:5/+K,1C]'-&.&8 M2UW+#16[HM)@5STA>TC6B6-(%K(\ZBWB6QZ-F)+4M:/XZJ-+DY7K+2EE/RZ5 M5XE/A/PD5T"^FFQYR%W.1_*EC^1*'RF6/E(Z(#*/0C#./U*D_$BSG#W$UU_G\Y%U DX2X-$YA9N,ZR>,7 M8B4?)E'@P[.G'EOU_R-+X ?JQ"'#W81LZ#:*V;*UN@.3.B\T63&:C*/K<[W% M;9E=%*?^/_-?!$'TS.A4^N+!L[)[6D$D>+BW;ENU %7U2@.JEM^IE@EB74A>/'?W&"C*Z3A*;) M.O2N?%'ZQH>I.FSYPC,TM]3-XABJ<87>IRB,BW_R7>*VJLXFZ>/$\,DL*2_U MC!''NT0TK^+0, 5)"!>%Y'P!(1(X*LJ9\=FTS-UXQ>HA(?SA51+W(J:_9C1T M7UMN&NKU7$C8=6O?&%#J;@L(%0WA!X]5%6%24K9XO[#4N4GCUNN%>CT7XN7= MVC=ZN;K; KQ<0WC#7F[Q,F&3UHD\U+3N=.OW7IZ_MUBAR^<;NB[+[]L4,##- MB4*8S9Q4\QL^F[(\F2E__+//%DFQ^_@*FU*!WGRFO?-"G%_+!HI934O/!;B^ MGOP&/+^D+J;TZ[\@F^(DQW;H/=EIH[&02.ACD<[!0$5@ 7'12XUIP@/#W.@R MW&=IP@'AO=Y\J+''0IQ?K6VCJQ\W7X!CMP@]O.(_(T;>DRVX\Q-WYUT5/DO= M;+WR0WJ9TEWG',@0CX7$B$F+FMYX+1DL( Z-JCE^ %H1(1 ??B21BHU9GIK> MLBTKLMA_!M$(EPW#N/6?F1.F/AQ_/K'?;*-XQT]".TIG]R:RD,CM99.6 :^# MP@)BKY\>)H+K/G;"9 ME33_0])G2D!2#)H\W_O,W*W)&$S?V]V4>T4T4^'PS MV&HI;FMV0[1=4C_$+BVBL)BZ-6ZLZ-!274JC;(HW^KL$-I:U+_EO5;,>P4O7 MYE2^*"?Z5I+1W4?J90&]WM[1!W%5;P_IEN&#A$8?7O,_MN5,#*.$.X1'6*>6 M\MZ?#-[0'Z/,X+3YG">DJN6$2Z MZ]/5!W>H:&DL!T5K![SNKR?V4$?GU.$.O!.^$HF\E6G::12S$'-2RJ:->4RU M.G!;>]S.VZFI[+C*QGB=MEODX<]\Y93MW*13#D!=&XZ:77&[;1_]ZU?PNOOA M=>9>T@^_J-1@/6J$-S+5H@XNG%E0) 5)*^%F7K$?:D5":F58[[S[9:Z M8AN234#IO?,"%7G@31H_S)CJN0W87%1AI%X$< =F?UO($:O?&V\H#]!A:"B4 MK(C@11@S7K0*CLC8M_(#WRE?S7"/#\'G@0 K!DF9)3@XC'X^M_%BZ]VC$T,Q M+@KOTL%0OZ[JR^1(Q_3,?SJPRY#^.(-^L"6*FZR].N.^Q#I,E:&.OJYJ*#%' MSP= PB:;)&:1_Q#R2C#PY^)/4/'EV8F+*ZP)2'L"M/CKA59+),UK.<[MA+,C M.3\B,5P5TZ45!]/\'T;-\;TP1\BK[WA-R#F_5?+Q0W*FV>_GSJOPO10V,0UX MJ8TTJL4%;":ROP]=O36.&W^A22KR9R"]YH[&3[[;_&!"=VN\8X*&EL4(T-(4 M-][K"&Z@.H$C7)(A#!Y*_:W@(8/[/<,]1,AV:R(/J5MYCY+BN(.#>R%\XX+)GF[ MQ7">R$B"K(FP'KV?\U?J/SRR"<%:%.OXE(&"9WZ0L=_Q68I;BP=:*V&2QG0UJVX2E.:@P!YMJ,3C?,;!.TLC]A=!?,__)"0#U?S U-Y$^ MVRGG)125O]1]5 @F/M/U]I:A=^R[8!80; W#S.%&M''B.*%J&AL6LR%SE''/ MF2;0<_ VF%?6/$X$:OFA&V3P3H8?BM)L3N!F@5-LAWD"(,CYS1WA&\.L3Q:4 MQ%JYX-4'\?4?3Q\B;=;*&Z.O( MHXR017=L8;:N1")<)B*$FGU;"I$];YO=S^KHPO6[WC>=;IJB^<;&DB:+C1I" M9()O<.1H5&\A X8(TT@(O_QAPNBGZB"$A%V498X)1X]W)CF7W]LN:^7_A M^G=P0XY?V#U_$6%UP<#RE+],QD/J>GN>ES&_H3&WFM[%&$-,< XET]JT^3J- M"0YX]U/%B#J4'3UD5@&&O;EFSLI^<'6TM5:;1;8F1>*QW=SA5 M?986$PV2&W;L%0$>5NN.C82#JXX;5 ;)+S%@AMO1X#AUA?^VEG$-38] O:>L M5Y;O?J&RZ$EI4M6YX0*A3^0E3V/^DO:;!KVZ!0TBGB#\9N'N0#W+6+?*'[R= M N:>:+R))@4Z0[:\YR\=.FBQKMHE.M_M@^B5TCRYM$I%/Y4R]-8!%X-;[%;< MLO@GA?> _8BU2]+6=Y&FXH4;"R>U+%R6G5-;',67JG M+!M#RE(Z<>Y?R$>$@(1+:'._\X;9 ]:D+1N4!TUP1V63/G(PR7_'&P.-4@YU M72"6[SM8VU8K%&K=1#MJM Q74V^0U5O@=S=#FU^2PPW?Z&I,X[F*PH=[&N\N M0[CQS.9;K]]^1 M/6,Q:V[*E'ISC8">E4(A1B9K7=O+YKG@A(&)K5JK2V*6!=Y1;BI%Q]W6/UXU MR%?V>>%2J5UYJQ^R8U?U;B">_7UHG%;^<&1E*YLRS<:H/O>'U^-* ?"EQ0V@ MZVV>BY>ECU$,%E,MH2?@@QLG)[-L;2/&-!.\6#F=JA;14LC&4VSS9-Q2/#OE M&M$9N;)0GD'NJ"RT*+Q\<$N+N>BL=6XT8\AMF!A)25"3,3S:^5']FHN\M>[,V[TZV>#6M:" M5D^\R-13_L%Y!P4;Y4'9)+7HM#.GYK&"K'NM.$YS4;K!>^2-]W,Y=E'O@F[B MS(E?6:?FMV8'$< 9WL-M46RN]^N->[]]H"[#+T!6^^Y[&J>.'_+[H9&RSL"# MD 4J0A7RD/>_7Q$0:M8=^IDMI:@%0'*.E3& )_E9<)UW:\^&5>[6E4L<^8/Y M2L<])XGLYRA+;Z%90^*$8=)XX=6T_8Y+)X^CBQN2C6MI JSY(6D.U7O.AW!Y MDJ(J0**:Q@@3O&B;]MI#O.$S)+^>VC MG:'\I$L/4B^V?I68R@K MB;]]]#M6=?#JBD==%-(F[)/SY-C2G4\-P[(H^4)QSYSM9. Z^?J_88*L^^=H M4LB2Z;]MR#JRI$G(*HF_?<@Z5G4<9*7/T6<#6>9L5X.L;[[#A5F,_K03K3J' M-XY;Q]8TBEP5^<\ NQJ4'8E>0/'SP2^#]JLAV/NO<4V[+IC9)T6P&H.W#6#' MMC2)7Q7UMP]?#;J.0Z\M(_C9@)=!Z]5G7\.PRUXF[?FOF9^^7H9)&G.73:[9 M]X_O'YTP+_?[*0KA22?JW49!//@+-G! M8MZN$)Q(DA,N.D-W)RQJCZ](*7Y#IN_/H!+)=;)SUVQAWTV1ZG-LVS[_G]W_.P\=WPY7V=#TX "R'B MI(2&'J"[4)"\\\/\\L<7TYGQ+G7B],T9V1#+\78K[#N/0W.PF M?Z<-3F&DBYG8YR\T=GW678'6%L7 B=JVO\OH8X41,KS1PP<3%AE%ES]$E"2@):$JTE^7F\82<=-WVRZS*R?6IE/H_DY MRA?-/M>1$;&?_&L,[/']L U\_QKMM*SS!H>XMYP6-/V';%SA?HA/KX)0W_Y/M=9P\ O:2.+Z5_S!X,FPC^).,R# MLCF70),O-?T'EA.JC QCUG.K^@Y/&.7#.3QAM)2U-"WDPQ.F_*WI4:P<*IQ\ MJ-C"^/#$]^^159EB2YR ')_3XYJ #)/O;[3.<@=CXR,TI< O?Q\_M>9VE2>J$D \[85);%S.<,XAY M;&QDN[R5TQO<^];3UR*JE[@MB;CH^D836YQ/7:HD@257+SJVU#15BEKX?#9X M.D'5(163SP)%\501:@+0Y58*FLS2;[4BT!P&PUKY9]-MKXW"7OJI3D7>>-N' MFUN0!0Q;5K[-T;@VJQ3(!SX[ML P,B[SMLC"OE=]8;*8:R"S6-GZ9_[7F-&= M?3D+]W^-$3@.$Y9ZS6(9'VAAERD69]1)KTR83?7 D5'ZK[Q1TU]E='+&OW) MS1O$6*(%SZDXX3D54LX% YN\],]R\S.7G87YF>59OM5L2DQG;@>F++2]B7V7 M5XS8SI7IH"\(S@'9_K>9Z%A/4PKD2UL[ML P5M0.!H^&B$(%PG5 L?.YL$_5 ML?-Y8&#[6Y[3F]?NQ_W7"%'_"A:&A<]^+%CL / 64D8F_3 +V]MV,57*N<02A).;??WP$/-7<]@*H[#34X.=%H&S M1XN(^RAU@ED@5Y/UVT;?/O8W"<0Z?-\N)O?2'@,\-^YJO 68GN5+-.U=.&\0 MQ9U-0">]N-_$Y[/ YV/+3@#&%9,WC[P-JB*"69!NRHO[Q[ASI MJ_K<<0[2EK["1&N>-YID8]@ Z-9'BTRJ0?)16L=/=-<4-MT&W70;M+ZI][[M M"T[%< %H/JFM359:47-#CMG3ZHP.IM&<$N"T>\U6U=%NN]46 ;U_X=50UJ%W M_K*G\#[\?02_4@]QMW3G^)#R?QJ%/#TI:D M>[M#QP0VPC#4"+6($WJD4(RD$?]UUW*A5)!(&A)0<9%C%*(/?%1$)BY-[4JF M9B;9P>LZ1-3-RA_CR9-);8QXY[M]$+U2>D?C)[;R:5[,E76^N/$3GB\@__TT M2M)/4?HWFMY2-WH(_7^RINV9_'/PQ3T^S69Y>=B9G"G>T60^U8=BR$]A7!(5 MQ[SY2.#*(P9]@9\!8 +V"X8O#/NS7&KQYMUES M?U(->3Y3\-;]4K. >IJI8-4O5$%&\*^^?^D)\OHL\*WI\A3B.: MP2N@>A)(!M-8@>31]N9<2";/OM4;9N*LI'V_#'GVT?/"Y$.;KE M>%] 2Y2C.@VKBF/\>2+6QLMB?OS["%/;?13SPV!1-G@A]_&L? H#-_+X1[F7 MAEIQ72QA W*QBR86)4N_EF?E PFC'3R_97TT93]'67H+S9CZ+D#3@]'14L7@ M#8Z&K;84"9< ME"8VGQ@2H@#@TS."@8N&( > MFF)6WG%A7;91O(-2][4A;ADCU31F-K 0%((1+AFI1%O.$#.-96]DYWTG^ZS] M-V$EC6]%?.3'0H=96--Q>=M#BL*J)L>5 Q9O?W!1*3QFA&GNH-O16I1"]V]MA7E:1?SHAHX].<=L3$ M$H?.:7;_Q@KRK^&T^=O8&%C?_*ZC&9L8&FQ3A@OTY)4Z<6VTE?8HI8%7');] M:_"=X+-8'887N?=I]WM))FV.&Z2#\U%2:;ZPKS)*KY]H?%/%L3#C]!]NN&"? MS> ]\MM--)@/E.JS&MS'VFC,8"^R910YW67.=_0D,F5J0_@^?[7J>Z?M&+,\YIA@7K&[E6H<_V#5ZA&*"\Q3-- MJ8*_)"^OH"=)O-A[$3-^#-E\62(F3VS>Y.\@\PO0OE:-W8FS-.Q+9@_=$KOWYLW^C2;J 1QJS=JC*8NXJ^ M=!B42*A=FT(6-R#\D/SV)OQ;^#$\NP__S/YS]UO"YX_IBI>JH"_.;@_%3G][ M\_YOWWU\_^W9;^$ZA'S;0MR.8 RV# *!:112 AO&C )L?^VB,'V$>UQL/$@? M?=:4AL1S7A>ROIOYJTXV'J](539#$GMQJ[.9O\?'X[AZ!\Z=#$EUQ;6&NO63 M7RYB"@7H*6S/W+)9QAR3)P5?G*/Q[):?;/74Q/0S63NUJHX1J9F\! 0FA<0$ M1%[^NFF2#\&MM05K^86U8E@PC;Z9@ NNBRKL9_Z3[]'0FPNN%7P_([ANL_QD M<-W$]#.!ZU;5$<)U^4Y$(? ;0>M)OD-IHU>?!AZVZV.-9LAWX*H_7F]%!:X? MQ:;;U,L;'0%PPK&];S')EE8G]\]H9TO?%H:J>A0;X=Y!98_C3?#E;BQ-;U0N MRZCZ'(KCGE)TN<'UMJB#GLL_<_'S!7Z@#'/@O*\>7H3:LB5DFF;0I /L;-A,T0E-&I2P$3MC[C1H5G424$A M9[DB#EQR@;WMU'<"GNX4P,,UD'BU@R>3V2_],.&W AF133[8S0HA9LV34[.' M%Y.H8PH2S3K;0]S)K' DQ%8UD7L?_G*/"8/R5*J&IJ@Q>6 ME!J5Z06'#7##C5K<2:'E[O:2%'Q7Y.KJ=-X3>N-*R_H@V72_8K^X3.FNQQ&1 MW 5G"/;1MV.7O6R_J WV8ZG-'AL!?<(9V+F4.X_*;"#=^*$S=.O/6+A*#>2ANCT. )["[*0EYCQ:T-TK2X@)A&9$-)6K%>B98) M?[V6OPY03H%/#M\3A#\G"87K-A4!R(GF-VQ$(,LIOUDTD#A-7"BQY;;<+_MU,0>3FC7N:F_B:@8IS6W_,> MQ6,9>&+4HAUG/<,9X$O#3I%3<[9Y3>7)!E)$+(F0?&.+V)A%8U\H& MD+>+U9M#7&V%K2"M&EXO_-!/Z/( ;(XATM3"HW-/H4 M$'X\!B0$)*E5&9*$L5E4J,6,'UX_.O^(XM. (6]+H:%^%!8;B"IK: ;<8?=% M!I92B8D":/-*.$/".5JL:-1BD\HBGYQ=>WVC_E06&RUM5M&,F"82BXR:5D6F MB9Q5+6Z [9A*2:/#YS1+TFA'8YZY#3/<0>LJOWZ8_7]P=I,>I^"JPA M.J9*UJ_MS6J58MLC*?,7P41^QV81%LSX*X4:4&Q]^D1CYX'^E-!M%ESY6]46 MR$B2B\>43GOUQ!@EO45C3K=6IC H4$TZ"Q%(+@,10A"0 BLH36>V(VM4F[62 M7]PQW:EI?9J@:(PWAKM%'C[ <\I$D":<]J0QJS%P3Z7K M99E R58/>^?5&5;>TUQ<)EGL,-_6C,JCU@N)R68M&R.RWG0!\:@0>'PTYH21 MA*)A-4N"\NU!>"QR2.E^1M;["_1)O ?Q$YU=?LU?8RC M[.&1_=?)6\*4,!]P>"J_W W^[5;[WERW+V&9R"\!,#\/J)L*X83&9!_%/'<@ METR^@?O.RRAY]M-'G_TYI 3>IB>,0?XK:!Y"53ZF\)[?XF2JNJ\N$\O?DB * M'VC\QDKRUK"OU> MZ/%51^L#E&WKL@BLU5)@R8B;@(*B5:ZB6!=\=L@[Z9NM';!QN9*9E7W;@1,=&^Y%0VQHG5>CK*"\[FEGC7FQWRCDBQ%Z58F1IFV.>H4_N;!;9(,.>V4Y9W!.96$%=AJ% ML.2FH6OPJ.$Z2Y.446>$/T2AERAJF'0TQ1EU.OH5NUZJ=KBWNCJE'NJ!GR*V MK-A"WAGL%3E/CA_ \##K[LYDRDF$":<\<:&0UEV<^;0T!1DW-.;/(K&XXW0E M1@WZM;?&"QP:6A;8T=(4-WSH"#[4_:1GM'AMW++0[[YB"CEF+/JBBNVL #.E M^A+M'&,DZK.#S%R:;DSBS)7OTC"AZ[#*WLA3(-FO^!1) WX&$<&+2L-M4H!5 M?PJX,6R$/L:A+>+S=M"5EX ]!+<5%()FL_>]$P2O)!""\ZF]7V83Y?G'L^*@ M!1->2N^!EA'$$4/W8R[^L&IO6?!U @.T0%*.8_*<]% M&0H*HW=O[[)-0G_-F!.?/['_:SM94#3%"28Z^LG;M4WM\.[4MDH[O/Y]091P MJC8/%0X59*Q:RD"I6R_+.0^T;///O.ER7/108&->"I0MEF=JT+.U$%-;^\5Y MJ[JXDK+QHCS64,$DA<]:K(ITH&MK/215VT5YJ[H&4F/#Q7BIH;I'AQYJQ28D?\K-"GE4"UTF8E\+.8AKQK4;@251>/>N^X^0V4<8NM\'/ M@LO\V2B3Z]WZB8WAU=Y7 Y/T-\0(=*A!"37%'Y!CRI&8P^^^J!#C[N9R7DPP MIA.3W)2KPZ&DJ#/[URC^);D,7:7GMS3%&PA=^A5QH6J'.TPZI38?-15+PGFN MH&[2K'$TH=(-JMD;2V?3L^D+VM@#O.JXM]'2'"< Z>K9LAEXA?_21J?$YHX# MKRQ?V9A-57/I.0VO_]!XE_]X00^/VG7[X RX7AJ7&3U='7#/ ?3%'Y/SDU8D MR99"5D]>%5F\TKQW?*]8A2TKB0=A3&:?8\S@/'7'L3+-2"/WE^.#@"Q]C&)XP5"\8/Y> MA?G:O7%BXD KU.8D>ET13U%Z*C!X& <^#1M3*U+Q(H*9G?G+7';@&W1Q98=] M80>GLH-S:(=__ZJ2F4VM?OG3OQ6_R0G_Z?\ 4$L#!!0 ( +. IU@BJBP> MA4L $*9!0 4 8FQD+3(P,C0P,S,Q7W!R92YX;6SM?5ESXTB2YON8[7_@ MYCYLST-62M3)LJX>HZXL62M%C:2JFMZ7,@@(4N@" 14.IEB_?B-PD "!N( ( MP '1=K9+*44XPOW[/$X/C[__U_O2&:V0']B>^].GPQ\./HV0:WJ6[2Y^^A2% M\\_GG_[K'__K/_[^OS]__I^+Q[N1Y9G1$KGAR/21$2)K]-T.7T?/WMN;X8Z^ M(=^W'6=TX=O6 HU&AP<_G/XP_N%D]/GS/V(1%T: JWCN*)8U_N$P^\-E*LUS M?QR=?#G[,CX8'X_&/YZ<_WA\-'KXEA7[AALVMSGE'-O]XT?R/R_X:R.LGQO\ M^![8/WUZ#<.W'[]\^?[]^P_?CW[P_ 6N?G#XY7^^W3V9KVAI?+;=(#1<$WT: MX?(_!O$O[SS3"&/CY*J_O_A.)N#HR^9;U!+D7Y^S8I_)KSX?CC\?'?[P'EB? MTB:2/PM\)"M._FHSRN=T27R':L'TQO^844^"(F*]9,R&9?FJGV%&)VDG9< M>F[@.;9%R'IA.,3 3Z\(A8&H8B*2 *GU8/CXSZ\HM$W#4:?CCMAN%=[\,IC- M9V_(C\G5#%":2#B*7GK+-Q^](C>P5^@6]_A+I$SC2MF 5#>"UQO'^ZX.XIQ$ M0&J^&NX"!;?NTROVME?/L? H?_UGA#M1=8JSOM$+4ZCKX.I]L#4C7=F!Z7A! MY",\";-Q&Q]\%."6R W+;"$=*#,U32_",P-W\8"!,&TD[-5L&1VH\HA6R(WP M?TQOX=KU8*F2T8$J7SW/^HY7 GC:-L-<]V\Q1=R%_>+4@86U*=;NH/DWANW_:C@1^H8,\N^XRY+7@R*F X6>T()\O,XJ@RFC U62 MR=*S\5['3PJ5.VC\/0J3)CP@/Q[WY%6H$-$%HYFJ.^B49':@2#VG8H$L[C+M0 M/,KA6269C""WWG2&+[$+GXI> O1GA-MSO:HWX)0E@)ANJIQV IM^/AOU)FQT M2;"FHG7U$Q#9\;2TKF95,J!,4>OJQ!0&8KI:5S.Z) BSO[I:406!F0G6QHLI M#<0TJJYJ=$D IU1UE125"V-/[PJ%ANW4F>4S9(&8E^"_&8N%CQ;-]!06#$+I MF'P*=2W*@S4QR_Y46UT9V;!4W_GW- A0&.BP _M#'<]?"4]QE^K8S3Q<0&3' MBI+ $RMRT&Q._O7-""/?#M=*%.:([ECQ?Z(U^9&.9P8Q!.*H*<+K5KFB/7]OQ[+T1DTD0.0M\(&O$OU)!=Y ,=&Z'9 M"$Z7!&6!7ELUMC002_3:NC%$=7N^5%NC*AD0]ALN#<>,G&9H"0F%H.P4+SNO M;"<*[14B*U+/?0H]\P_2\:T,IY$W-OD6F"V:ZW?R(ZKOMD)2P:@[-3$X3681 M@F*!G%P^1Y"UU106#."0MWYW M1!.D2RDB,, 28VD!,G]8>*LOR+3(!9,C\@-1^2A6]]8-; OYS[Y!+LE,?9^$ M>E*"J$KB8CU9$F05?,OMTM[AOZ5:D>^HN6*1,QQZ#Y%K(6OS6SLD7SDX.)@< MC#Z/,D'Y'PW7&B521_5BJXB26$W',PM-< M"OG3ER#T#3/,)#G&"W)^^E3Q]R\:FY+9ZQE+K&A)_L^_GQZ=GQR<3@[.#B=G MDZ/QY/QHV[8\&Z9^L9V&;V:B\8\E@A3MGY;X\A9'*W\V7S%ULMISWUM66BC] MFB?8:,_'3O#3I\-/HRC ;?'>2*M)3'0;EL:36]O#A+>NC)!E\D*YWMF>W_H4 MA'$G(. >$'>%Y(N/Z,WSJYR05K1W4 @ID*)QU"H:2?]\8SOH/EJ^(+\"A=TB MO;&^4,-3JQ]W8/5'M+!)R]WPWEA6]4-5Q7IF?8'&IPB<=( V>OPL4/&!HOO M\%R2J#Q_?>E9=$"8M7J&C[PN*5RG'<#U;+S?6EA?>VXG][(Y?1:E?,\@DM$B M!>>L W"FEH5-%Z3_PPD.P,3CYWB_01%1(EL,7C0'30/7A :SO^SWY@C M?U7A?L+"5R$#I=TE.O'AJ8\,"@SY/_?&\-Q&9Z9N=R%.DMLX#Z^>2U_Z[1;I MC(Y%38O_+TW!N>W.K-VN\OKC C7[V:<#8.RP5%5K#>V%VY\!D$72^;+ MR"<*)MN.A"G8=E% G>!4%^\-)-)*9-!TL6"^=4-$E+!7Z,H(C;35C%VGJN(] M@T9"B0R:+I;.9,_8O\0+EX7GKYE;XIM2/0."W_;,_EVLEY^6AN-DD2M4^Q=* M]H8"M^F9\=M=*:?3BFWX:QPQ&@"'3_@R+=M?:Q18F,7%B:.3*]A0/G@89(NTNL;,V_G=D^"'R MG34W_F^G9._0$&E_A@5EN?WW+[O!W@TCP(5RT>=L1XW_/CP@\=\;3>\OKT=//U]?/S]]:B'X>VX$+[&\*/B\,(RW-(S?"8/L M-UL^IK_X?=/\V?S&=K$-;.P]7A*R28D2%ZM2WY'JJ)$D)EU MV(DSR2! _$M"&VJL.59OCO!LPKI++$1M?MQV[,$!BDMV VLZ\1%"=ZGY:ZPUA0GY(D-"GJL7]0I.+_N !Q^]&;:5)B[(TH 5#$@A@$#-(?&B MKKK4NT.]I(L(,09+ 6&PRQN[DF![H>%T#W;Z,)F[N$-XL?UH+U[QPNN7($D% M2 &?60*P_BHD%2@-.+H_/ A^=F0FK=.BP[9)GN5%I5 Q M^_,@",-49EC3%\Q_.T1W]@I9NYEMZ2L==J6BUN:SD@B=G!&KP"%"$J 9?)$1/%AGI,\ M&&MR$B!V0E(L#)@>(GC2#T@$U!P6&?)IUME,J"@Y.!J(ZJAU"TQV=Z"4H!3_ MXO=R=EBR=[)\<[PU0H\HWA,IFVL'^OJ"!L,,Q288UFE;<>\X,\&:W8^P*PV& M. W4'=PFU6:35I BK"J#(XBTLJI.Y6!L37,'(7K!HG7..PN*5C?]$%-1U5X5 MD*V-W)R+NU5971@P$92L5L65'M;9[%7:YLT3/#G#T@\X.+4&3I8ZV@]K5II. MUV_=(/+)R,KM5.@5!LX52<6'-2^E3,SYIV6\>@,G33W]M4Y:8:QIN,SAU!HX M;^IHK_54MO6E3GP:G1^.A0[F*RL,G"N2BJLZZX71N>3TYB^%!TX$GJ;47..] M7 HSGCFC,(%1HVBO";;P\9"8(:LY-15Z+_L(Z0@047L/CB>2BM/SLO>2)P]9 MHV,SL*[-5I2$Q@Q)*,M<$-5Q6$?\N21FS'O3.\4&A[Z0@HHV4&EQP*=M@__L MQV_,KV.U$PNP2$ K/C@R2"G:=']TDI#"18LX5*!S4DPMRTY4>#!LZ]:]--YL M/ '..0AMIY1;<7!$J:GRL/9*'\E[Q"ZRK@W?Q=/LH'"Q:FZ;-FW:R:\X.,+4 M5'E8&Z0YI;,'O+$>K\@-[!5*CJ;NO( <2,WFS\8[_6!&1LK@J*1"_V%MH99- M*KS>S5OG_.!@/#D^[S<[!%7\6!=A:EZ &1PY:BG>14TYQQ;G8(B,# M2O=0.V-D8V5[GU"RN/>'W77FQ]:TXF7_ _+C!/]"FZ.TRGUG20,M>W]WLJA[ M\MC#- I?\>#UUW9T8-)BM]*PZ""DG89 PNYI8) S:+)#CM[GJHN(^JJJ&$?JC-6"$X/& MQ (AU31$Z'6,/G-60"D].-09:JG:2X*#.'\R(/I"N\]")1'/Q MV(FD?-^AEU-,1P1=BQO'FU\&LWEZU07_57#3>,Q^&.CI&?_GV_7]\]-H=C.: M/5P_3I]O<0&HV\7)$>-&'OEU$0XN;Y MU^^F$Y'.BN2,P_]GT8^=:TB"XN(ZU5MT>;.>%L. 4&. M0UXM1RX>G!V2R]M:VJY-+!+:*Y2^:$$+"Q&JW$/8&RC6^YW;S8WD;4@4!?Z* MDCW$6E0+#<]WM OLO>=Z15VS]VK8EYVX]7H(>CV=>K_K>NOB;Z,@9'?K.Z6* MIAAC4XP[C>:JAUV9 R)J-IV.0[NK$ >^4@U(Z^>9E89*CQI:#RM?E"Q-/AQ# M:I%#Y5*A0W)L)TO9EH?M1M@.VTV^"S3W?+1)G(6"ZW=L7&P%VS7\]2T>H^-$ M%&2SQ(MGVUE_3!V5M'UQJ 1MVV2JUCZ5%&]]K-Q8)37^!5X-TO% MVV"8E"U:V81M/WJN(EN%8!C=D4P8W>7LV\/C]<_7]T^WOUZ/;N_QOZ^A!M3E M(C 3@\2I*TMFXN9RE)32J^V)[CN(FB@);E\4G;[IP$)+--=- M>9F"!!2C*Y3\E\/VYH('R"]-1@'UKJ$V2MYX/AZUW23=@;E^]@TWP!8A!'"M M^%].3(>OANT2@TY].\!C]U7DX_]-K,I)7-7"EZ&16A,CQ:FOV[9#Z[ K3,AA M-:,&-#8JZ&)EM=5Z6G[8W2S>"%YO'.^[Z!688ZFY^_3IY]'-W>PWL%=@QEFVVH ML$)^]@1MS^F9='SJ0Q.U-8,.*Q#U"N%FF\F&,O[90>DR9+KT_-#^*_X]A<(B M5:%1LC66E E:VUS#BBS(PBA0O,K!:Q86Q:H+%ZUTW'GV[ Y))6&@8?5;V=[( MS+VR@[3 M[HF4323H3Z(SZWQ ZO"T;[J#!2UA2-D"#SYZ,VPKFQ!D-]/=Y%&]9/M%F$PB MPCX@RVJ;1?,.%X!)?]9W/QCK6@-?6N\#DDK$ L/:QJJT@1]A);;O^AF;2&++>^6*08@ZQ_ ETQKY+"H9!54VS/E9.\UC?:L.U- MA*PX4^.3X:#9'/_&BHCA$7-3C5_Q8[.MGGDTO+W;8:"8N,4;3]@^--D:FDEK M_E0H*XA-,)V.%82D<"AD5;2"4*%][Q\=?T1OZ01C-K_SW 4>WY=7Z(5&)%KQ MHG%.L7&Z>=2B!2,CFIX_(B>>'WK/Q3MYR>_4A":C4:)K/Y+N(SMY.:N=CR>G("]G:J)< M+>MH72= .6FH,'CC:=F'YEI#,PWKG05B"?+_R8[C"J_0XVX?F],V<6\;;P:Y M5O$7N9+529#POY/G5J_?S5?#7:!'W'-?S^?(I#V[VVUCH#B#[#H$D+5Z_^YB MHN-LGM=[YC:R,(7C&KY4A&2"(9ETVIL#(F;9:]JR_^!RK+4**H@!8N]7$GX% M !I5Y^^5,[.S7CF<#O_9NT-;[L!B=]/%[ENL.)YK^F'/!Y66.-[MROA#D5S= M2B)A^;5;WC!L_09A]I2MB=7?GD6ZUF:_(7[H421SN+ 0*#VU[(I6@98:@M]; M/D$CCW#,YK\$28#$["4T;)?L3V7>>N-M0[/OB#]G]P'6M$.V^A*A$$DA02K. MVQ3;9U@I+]/+*_$M.,L.(PPZ'D!(9G+K(@KOO?!?*'PP;-JQAVCU#\&T1L9H MY<6X#I)RQRZ&[1"?*9(C1MQ ,DW8]F><--TG4FFZ?Y[>?[U^&MW>CYY^GCY> M_SR[N[I^?/J_H^O__N7V^5^?X.?NCH_'"G;B)_%FU6DYNV/6J&?&!=)BH8(W M'!Z,)R>=SV;X&!1R,/+588P9G4U<-\U.-"0G_9Y+G';Z;M,67\PZ4("4P(4! MIK"&$+'%S5YZ;DSC;XB\\T8;OG?+@<50&(Z*85E(22J,[2+W3-;PD;^.FYNT MG(D@M?P0D913ECJC:CNIO&4G7R9SOULWG24R4676&2*R\@I3]TO;CHA-EI/9 M4YU,6*L+#Q%/"4VI6X(MNZEI1LLHCHBDO=O%=EG1^D.$NYGRO=_4V['/^'MPK:% 2+7ZVE#ULMK1M5 !) EA?_ MCY[CW'C^=\.G;8-*2BG:]1#;]00&7=C(ERFC0N]A[:>7]:=V(KL%H;%"!;A5 MO8R0WHI8P0J':/WIFV;/C0^6$7R5%0TYM&#+UC-B%')_49:^\7G)R^X=K$>$ MC1S8(7I"_LHV41("0M*'+=Q8RJ^&$]'VW75_]F/0M1,K:KT*U?KM]1B&VR"( MD)5_U#I6?QM0%)>:$F2^^O0.LY:LC\%4=:895NI26;O$F7.PZ>46B;1-<\RHRXU1-E<:NCOQ5:\)]#BF.5K-M9(!U& M8.;'C4S&93Q$QT3AA];1:A8];-SY$%0[ K:NKAJ.?D!,BV.- T4[61QA@R&1 M0O5[GZD]49IL*>-1O-G2OXZHX7!*E?*]S]S)]"X%*WB&H.&P28WJNK(I*9\Q M7]F!Z7A!%#N)'9#LWEM10K/@PP/\__#,=RL)_R,6-O+FHQUQ(&>T,W]AN/9? M<1NW"P="5M?*MW\V3Z\.&LYV3<&[]:U"-J;8R>3T9')X?G9P=C;&;&L]E4GV MQL 5"DS??DLUJ.#,,Z;)!6[#'Q2#R N"UK?H@[3<'2FREJY)N,;N*'UMD?3 MV,!F+F4FIS<:EWNCK:Q13AC(OJBL-J6#815L>=IA+UQ[;IODW9M2HWC=@5AE M*%T 'YW"7**^;CUTV$>T0BXYW]V$N@@Z[%'985-9HZ(PD Z;-I5D/2:);0D7 MR KD,@I";XE\SO1 N';;-YZ8S>(YM6CU(O6/QI/3;M\ZD<2R>!FJ@6"[ YRIMBV M-GDG*3>WJ>X4).NVVR4(-8[7,<@)@=(]U,(TWSDH4+N'$X*JQV,XWM4+N.G(>%YZ^59:&X)=OF>?\35Z.';G9CV'Y\#/=LU$R"B3 M(G-XIR M9ZO,DJU?X-]M"L\E656*I#T>3TZZ>1E0 (N=B_AR*O70#S?WA'."E[ M(Q:5>206-LJD@?3*+(52IC7%)>G%6LZ%L],.GC-2RT/Q1)[]"SEOI)3IH0^R M0\_8CGAX4#%C)?(^QP)'.Q)!.N.V\;-Y\6IW?&GLT@O"8'OY.WMIE;;GTU!8 MNXXMW-J+?&MY[M]0*I1.0@TO\EV)#L/TL,/)@ERP"5YL-WD05+"[J0H]2Z6- M=L2![&NJ5.<<&;.K=!,5EFN+^!1=K#(4[Y=!K"J"JX:6/73EJ6GZ$6Y7^KJ& M<-368774%I$U*@H#Z<:X:R9)^(*I:\6M-AR>%S-K2#GQBV.1!AT?'!T=QHW" MO_B]C /?+X7K07-) >L3CVRF7P^=,;L8O+23K ?8/LG;VPODB@=4'E;$9R7A M&#G1<9#&KG"0KLJP!W=+3+)N^]<8N8WCC>DCOX.PT:)W\ M+W?I*U09BM/*W7IHH%OO% MXNL*[LS4U[>5"S,MKMPK[$9N!^"UZ.:=8B$&U9 T(#ZITEYS*OIN+V1)C33' MY9&&?2T+_* SV/M93^8KLB('S>99,[F;!?0:1;>.*T8I/>YRVZH MV@?3)0D63[*C7+^3D!:QR6\3D;UGG38CZ,IIUM*U4:G)RDEYLE*\/ I^>L2$96P^3O9C43UE-:J-575_Y1103!W-_D M1KST5@C_& 82G!"HWW<:U%51UT/K;6>PD)KZGY:G_I0\%N#7 !()+<2J=)38 M(A=BF]K?FKF/R(Q\DE49KY#O/=?/_AG'#(AM$ZB27W2>,^P\YYWV#[439V@Q MA-8#MD/]74HYXX94?W)6[D\J\FZ [TOZEH!C,_CMMBAG](MU^D?Q=:64-"C] M@E2B#H6J]C".LI0T0,K7)V5?KTH= -[9>Y9#8,O9W1:1,?<:/6J[8\O/QY+2;9XEE M#,N$@Z&6 ""'"@&)"39S\7PD7B"[)OJ&EB_(IT-#JP$8)(:Y*V&24E$#8,WO M$<9=!?Y 16=9608*>&UWE>+&8,S%.[LP4=\V6WU=Z\$QW'MCB2K[9)V?@D8Z M/@DJIEAMV87:S;3](E+A<>+*P8)9%AKHK0%8YHZX?8" S[45S51WMHMN0[2D M/@?>6# X6K4\@&FRH(8 *\6K0YZA16+O:\L!QSH]+*#%YC2U5"NGZW VO,S0 M7HG>8*TG[,/Q48.Y-&RZ*]Y+V2K["XEH(8D._D(6TQGO/7>%9QLHF;14[9\U M%_KAR*?1;/T<=_-&W)G<)KKB EX4/A( \*0YW=AN,D(K_.('IV][-M40D[WE M]DD;W(ZO^S^_&NXL;GM X@\3=((@6B:_:TQG^8_L&:S/C!K"R5L-!"TG_)4Z MDQ^7S^0KTE*#/X[O,C^URAB?:C E8GN[D/<1.44B M203)U0?B$>EU!]K9"[T"M,Y"'T3E*82D57K8KY23KQ;S4,IU,A6/8U3E8HV+ MY#X"O\_Y<-E9*9JPJD#K*#3E8I7U_+K[K=7P!GZ8@Q;_:PLK_L?OA0XQWCRI MB/VB%X0&H30.6R@EE80+8&5 %JMH03\LO*N 9TD$>- QE ,2&#-[0[Y!EB[9 M)($9%T4I#1L]!@CE7E1&0S405BZ>KQU[N7F;D)Q4F)Y+4L>XBU@E:J2S4+T! MP-5,5^I!>TPYQ32B@3N&T+=?(A$TJ&7[ MCH:<8CK'+,[\_IOQ;\_/EJ"TQ5FY$#1\&B[,!!5DQ#^UNB@C,?TD36FNT=15 M&;4L% @E[%\$34XSC3W>(PIL"VMG&PZUIRN5@61^.4L6>SHQQ31:GQS6(9]L MJR?)_R/2\S*08)8?"BKR2BH*,':4Y9GA]($/OF=%9CCSGY"_LLVJ.Z6T8E! M5C1X":O("'%4NWH2@XXL[-,FTS<5J66+&AYB#0\Z\U1A!"J!$]1-[P(JKZ'V_HU"LFQ.'V^MUMF* B(*49=*36W_M1QXKB_3 DJ!-4%AX*#A';4 M<1_$\?X=YQ8VKQH40!5NC-=26>M=@..VR<()EDA2&9+$NT& AV623O.]7K!+ ME:2>4(K-AS*M5%E"ZP7IC&FMQIC%/:EL:-E8++0L"5+?1Y1U7A$*[\@7B+'II^:TXD5]QYT_,2. 1AE" M*>4T9$W4 B;SJ)Q> 1J@4MB(0HED 6.OSENIN.+CFWN"4D $6<#9V9=";:ZUU*2J;M4,?D_!P=!GY!(>Z/"I+@,:BYF20 M()B@.;32J_6YN( UZM.J-W02A+X6F3XHB9J,P-9W^9EV MD.^2=JOV@4I:*/1QNJ-T>S3W*,+LQ;&3@Y(G_+_!W$;6;(7\9WO)2Z-22U8? M.-:TNU)G&*T9)+LZI'Q$9'/"=A>5!F*3C5T7&KG4$8%*LAH&&62/QK8#R6M) M\E\^DVN2B]D\,3XV=O(WQW ;U3KOBQHWG(WOA)J?MYOK9-]P@ M669\Q7-A@2&"+V!HG*FI<2L/7?5E*.D_"^A*I4"?*AE*KET+SD"23)@02202 M+:/X=<(:TTE&_:&1I)["*8'.ZA)HDA#()9>M49D^G2T]..P8&O@L;,^;C@)> M:#A=7#QGG%[N_#L]_9$\RBS=2.<>92:_LS>_&QGQAX=]LEE+QN_DA9Y#0MRC MR ML$K2F4@M[$_*,T2$Q[GG\O+AK]])LX47ZK3"+>1GE M*DI"\W"V_0O)2 65@1A83-PD3#WP&7^'$4]<510B:")0E$$4UDX Q=:/RW8; MSXPGKBX,#4EA//A0,A34&,KZA%S,AWLO1,%5A,C[!M1(5EI1Z)@P#+M%15K! M%C$Y&@MCDA4=+"9,!<&]?2-UQ\+$ [A%#,3,_E+]-=G"K?N'W MS\A^(T-TS#_Z@[X5Q0:!BI1R4%XG*,RM[GB/$E27AH9>_0FCC():XWQ;WUXN M:G[KXF:A('PT0A3?!K,>D&\2&*G7UL4%P*8+&W0>9:3U'E8JQZ(Q+@W?7Y.7 M%99>1,UHQ:I2M-@IMMCA8)@BH*FB'F:%_!M7X,F5>7G>&PHN1PD6UM['CGP@@CT@S9T\%2V&_I M=##[SLB;CRSRJV7ZJ?U!(>R#0AB>K>B@L.C"PSTHA &:"!1U#@K%4>S_06'W M2 KC4>^@D )@P#%OGH+!]3!H?% X($Z:"^X/"\1FVQ%'_H);3KG<' MA3U%14JYX1X4=H]>_0FCC() DKGE5^ 7ZVS5S5E:LBO!QI.-"GL_1E#78=UK MRQL@5=]&P2-Z,]9Q^L_9_,&W7=-^,YPD&;Q%TJ+=X&6RX?P+&;2AM:E8:"RK MP1,VV909Y02M]L.IPL?Q;G^98]?C[C'K_A3H_A; MY/PU^=IH\[F!',$.[NCUO#,?5WCD>LY=#@'IH!D'KN6"4("2A8$'(%4W^/C= M&TOV<2NM.&PLJ8CPH.0HJ/%P;XH_;R7[Z3\X6U W1LH3*Z!0!XPA#4BF[9P:_[U]!4', # M1(UA>MD#>+6053_"A1QCC1O@&]_)FNS.,]P;PXR?19^YB/X>ET"U00#52%D- M.]Y:$7_^[M5!?%/M(R#.5E;#QG/K[ZU[SLIV%\D<,-.:V44SZPR"$_4U5;2- MW$F,7%%)QLRX7+!HB\/QY QX"#AU7BRHFT",W%&W^#$GR%5%H6$HB 0/0H9R M&N=9%T: R.7_"\_WO>^X!Z''-]**PL:#8=;BV"JEGLZP;V_N"R)"*SH01*34 MZWI.V[A7_-7P;=+_$XT98]IN,6A8UQ_1A#1CS%LZ&\_R#6>.9N6"T- 3PH - M73?CV W"H@WG)G*M@+2"VF=6%X2,@W!_*:$:K,VVV0KYKKUX#9.T(KBGC_,1 MX>Y_\Y=;UT+O3]^--RJX2F3VG@?ZK !S@ W\,$QDMJ=8O_!V< M_1G-*B+ 5Z-+#(QW-@;YOQ<;/\9>W\W;Y#4PX*H!Y+A6_3W!#G%2'>G$5E!1 MDA\@DSY$9VBO4("EVA8QA ML$J=ZEIO9K6> ;5HCTW20VP/(>[D*PR9*%P]M3Z/UW'"] LCL(,GK(AAS=S\ M5N6A$$?HU8?,&$FMM:ZR9)]MH 3NY=5[)*U"KAFKE'D'[CEMSZJ8SPC7+=KF M:#PY[B,CFJNB&X,$TGDH-@6'P99 M:FF9$4)/,J^.=U.HPVP^=4ML&U(2+='N7%>5V"$33)$U,B+JR>?5P2-4A;,\ MY"^%J$4*#IDL5/TR^/7FV&HI^\WF7L\F=EHRZ\TQ-^O-YA.C[!L#277#+HRY MGAV1C(G'9Z>_][^2P@5IQFL;#C4\D5/. ;Q1*6PS<6.D^EZ0DR[ MHC1]0_=XR@%2 :BHCHKB #JYEJ@\\P, W$5QXT/.4+#/H&N^EPR/ @PL+1NX.0#T$%7'7\#70X.@#[,YI51("O1C_# MT7N% 5<-G>'H' R>L-'B?'9/)G(-O&:A#">5Y:!@HF)H$5=0(*M%*[>9LH;^ MX@9OR+3G-K(J9_W,LE @E(-@!SHIY33> [Y>X<:3AWKG1N1LM*"_V<4H7FSZ M26>/Y\G;MWCN)ZTCD,O!&J[F= >BJIT4&36']51 E>5:NZ#3/7%D@!?;4972 M7%5"WM8%QIHZV33< )@E/7+3 $Q&K^^/7 M*L>YC'QB^2:]#DW$P!C45'.M[R6U_S17A3E^<;%F5F:$2V^YM,,XV@;QXU]K MRQL^R^J;0>NDJ?T3YEPPP2Q\1?[V5#:0>$J55G5@1*JKL=8[/DJ>=4LW(?,Q M5;&MEDOL-7BD==97$9JZUH.QKH@_J"$!&C-J8UM<2ZNP@M973SM^8"8?@A[O M)5D-[ISN"A@@IQ090>L3IMDEL99BWIZ0B[\3E]^.3COS?[HQ>8Y-5P-B$)NJM]\ZA$H6 M!AZ 5-W@XZ?F[3=P6%(1X4')45!GAN_M"(=GB_C/$WJ&;TI1V)AP3%N<4DNI MV"(J1V-A5+*B T:%J2*XJ*^N(K6A02XST EK!R1SH_)PZ^[!$X: CY[VD4U5 M[N^F#^W!0TVHCY733F? 3&&!30^4J2@V"""DE!M&E&#W2,F/4G*J#3@^L#OP MY"#8@4Y*.8W=W>4K"1R^=2\]-\3Z<@,$F>6+C3_K[*5M>0L7^S]Y)3L,6:]Q MXZ8[9)IU>&QU!)Y"@ORD0[?NPC9M!0PPG:'!'1H ]FQ./#3*L($OTZ:QYOM'*Z7?;.PK9U0;8/]HI>2CC1^!. +Z[Q^M MY,UOI%YN["NKU*F^?[12Z#''81&%J^?^T* M^[ X)*VWUK12U:N&;3^8 M.R1NR*D,ZI%+?4>(^A[,[2MU5"@-ZY5+*"_F]I41S576^\CE,)_,[3E;U%E M[\.4K:^JJW8UN\]F>7R <3SN(=WTF*&=US![_4QS[QDCI65&"#T;OOMGFBL> M)AX8P119(R,BC*2I2A/MT@:X7)%A$82K609VTPUAVKEEUWD,:[_*W7OH!?7+ M"*!G+U=)BN2B)I>>BR=@<1NW'1ZYUQ"\>HZ5[_2FBX4?OU:PT_O-?!LO$0S' M6=\&082L1T3B&H/<,PK<%7D;C1@&'0'9+J.ZG@WH;(;54C+>)*VQ9-;=4V[6 MW5CL0%+KL@O_7G[S',)"O?DK\\>'F.XGG7<5@A876V?3M82?WK5^>EX 2,J! MP9N%4#6$CZ*:)+T $!5$A )>D%APG'M,6YE92*/4K2.RQ4F"KV^=*U MRB2] "!O.MP)Z\C O+,M6]5Y>R'@*8H''TKM@YV"O+V;3H>3MW>G''34A+I= M.>TZS$JF+E_L\;A[J&IVF'(*#C=K;(<0RD&P YV4^Q_UC'34']JI\BP^D B"*#-#L3F !U(!,*,VML5A0845 M0#V0*G16C,="PPWO42@04BM0<:#<:*!\*P^<:J!$Z@Y9G#GYM3P]6$(^%%6D M#:$H70+(RS_MW4,=!JT4&4'K]+>%IY9O#-O_U7 B]"V^1QDORR7?53X].-R- M\"!21['845XN_!"/C3GX\WYVT7:[@DU;ID& 0O)0]IUMO)!UGTTV)&,$K)G[ M2%X7\VUW@0O<>ZZ?_3.^4<&T51^$GW#!!$I&[X"0]0@.$GT##AF+9.^$G[J#0./QD4*DP5 M^QQ^LAE/+M:YV>V-C_Z,D&NN&6.E0$UHA&A[\*QK(H'8EM;G4%6+JXTFS(%5 MH"98HD@"QZ" I/) CA0KE]1YGV#&R0C6!HN^)&9BZ(L: !H#+M:;'W^VD8_- M^;HFN]N.V!C!J P6__:'"5DKM1;7T[3/*"LF/69098#ECSR>@EV(E"6@=22W M[EL4!K$=#L6&CW(-L)#71HF!O*#ZT'!NT'O><6*7E'X#+)?:'GZT&9-ZL-1I M#_3?D>&&-H%VA7\S]_QE@C([-$I.2-$'Q+(J^>' M]&(MWV$T7Y$5.6@VWVU1SNH7Z_2/K$"9&I*@] 0\S K7'16IV5K@"^>*W:7G M!IYC6W&[XWDZY7ID=4$H$*J&9PN\I.X=7G0MMY)Z69)6% JS,AKJO.Y*GB9T8QW([L .!JIBMUF=2N[\5; $'"LYPR3 ]DUBDJ>]+9BWG-T"D[I;S20'K7 M2\_'LP C1/>>FW8H3'2IY:$@JZ"'E=.1NCQM>;F2Y4^XB +;14&0#0^,J )F M'2B ZIN_UC<#Q+BRM-',:(!"&7 2\-0 25708U3(K*K93A.;#-67\HL"PX5 MKD6+T9F+/. M^'#]_H9<[ D\-F3E/@(7F+IJ'85:OT5[[[E>T052Y2E\H)8?,"_D=%:49H/6 M4[0><;3M&+,AU78C;(G46SPWN$#8M"@IAT=3%%R_XV$7V\%V#7\=6QJ;T"2# ML>?$.YEI#!=UKU;;%P?,TK:MEO*\\2MX\1.TNRQO_:F9)&"60LCDCT4KG&(K M' R%.PP%4YB;OG_'3D2E,Y *?SWA#W34L MAA7DM'C%AHM?,G\PUG&V%-\WW$6\6Y_.T+">U?-9Z?K#H80:U36$3.L>"NY1 MF%CM ?FQ 2X-QXR<&L&OD_+8@(5GXP,6/XKEXU_G/@%_Q+@V?!?W!4%F'\IP M02_6T>$R,\RU4 B*%_,L77D03-= 0W!J98_[*UX,X&9?8I'(MXV*0WQ**2AV ME[!IL<,4U:DC)"K/UZGEH* A8U@F' RU! "138?+ B0>4V?N$_)7MHFH1[N, MTH#!89BY$AYA];H!Z9OA_X&VSRW3HT-%JA7U.B/SKY[#)J&GAL@C ?SPX!GO M>+C"CE:J,3S4Q%042"S3>I+PS9A\QPNG*!6$ F.MZ86D6D#"83:+*<91; QA\H"./]*?;.=4.IP^9;0SMH M#7A0\@06[HZ3G%R&<^DMEYZ;J#H-DRA3,@8_>[$5[!5*=L)G\T=$@E!-8IC0 M,_^8?C=\JVHW0YUP:"S309;BU%2S[;2&Z"E9<-8R0*SV[*WJ*$N)S#T/U9A, M:]:8UI=?E*D*#0>Y:1Y-RL>BHDHCJ1J5*\-O6@]'W3T/8:TD*LM"(U+M&9RX M=IH##5M?&>QJGKJ#( O2TH/E 4L_1:%X/":T>30_=4,[&Y#3(9L,Q]=_1O;* M<)#TRV^3@['@B3WY\FGYTMY[/;7D4CV&30/)&LI7%BT^1*#[*2N-?E6Y1P<3;?U4DL'9:*CQ3= M]+SS\VXI="NVIO4;!^+#<@V5O5A7"V#D/M#X16B4;(%392*W;=_^L)K[@!ZO M&C1^M0VU*-DX%@.2@6=G$XZ9?:>R;#_HP &CC*FXKD" O%Z^.=X:H=QN%A-, M:OF! BJGKZZH9PA1F=U#VNJ40,8F O%-*N/35$1U=H>FC&&9<-09)?L1U0D* M'*'NLHYZ@XOJ' )L$GI"S"?7<&"XXX06JA(/A3=]7FRSC3FL9% -3<5\VT.) M;&B$ULHMY51FV%!SK.BDA9=$-G=)B0V0&\32TKNC4J1T>D4,>L+KT@C"(]7S)W<@-* :,13)](_@[,]H5A$!OAK0SD,;]0^\ M?43%7X'""PBSSS9,.ZS-18J)MAF_+M;E?&#DUE7QNNHT"E^Q"G]10[*5?P<: M[=N@7L4ZO16S:KU+UW[(L"*;K0S;(7W3C>=_Q75I6^RZ/K=W@-:M.ZRGX%,L MTDMEM$UZVL&14.6"%4\.L!5//B!'&]@*_OWZ[A*M?C@^J3%7TZN!DX12+EH0 M2G>1MIMB9I+"&#=!]E2Q=/>+<:J8?>.#'2NJ$4I2#Q^<'!X?'YP>'QY.#B<' MK5\CS3UH0N)P :_.(8%-=+"K3N^GT3H-?\ )"B MPSY!SD8#OAH(@08M34)ES-%RUG,%MP)/#G'+)YT *6-8)AP,M30.S7HSS\/" MA6'A2F2D5-2(4>US(ORS%X6TP#>5HJ&@WD6WJM6&&AXTT,8Q:@>N3C@4GFG' M73W%NAE?5+1\YM)'(Z7RA\8NX0%/OQ6!4^SYNZ>58AOY>XIILZ*:!V3T40S+ MU]N/Y;ZPIYE&.U+G9#"(=N-%OE:>;3^PIYD^,U)C78"=_]$TO>.]=M98,!3V M=76@K,F"BO*O]_V2 $G)':YOW2#THQBR6?B*_.=7PTW?SKCWW!4*0F0]>HYS MX_FDDFJNUVH$.+_0PU.%#J'.S%JO&[0?W=^DWQ_,"ZCCLF=N!<# M#46>]1;'+C^%AA\.V;_B,('@UDU"M5MWK^+GBWB.QY/CO7>UZ%T"8("Z':1V M987;\CW[1Q=8K;=-6,O?OH6HVK!J7IE2?!^RE '0D#-DC+TC=>9(DJ"T=-%K !,]T NIO8M!6D@5?:OIJWK)0NK:+7O7 M@)91&WON/&T:3ZFO<-]R8]C^KX83(1";@#*M'(RG MPE;(P#J/78(/P3L%,. MQA-;=!"8;LWRY?W&98W-*GAN+=F^O6_#]FT5<((:K#O?/)5U67#MV[ML$Y?M M!YQ:9>&ZK"HXM8:E#7%#&-[Y"ZFCOT,"FS0V1W&]! M;TR=&G06A4%HN);M+C3N)#,_-AB?:VU#6-Z>W8M3.'0BDXW3/YRX=K2_+";7'.##.5U4=N^T=J>1(D'#1&L'0S=G* M1QRNCO&LZ&#O99"&JQ22@2ZNU*Q*=TR:]64/OFW&AU[SM@Y#!!L"TNEZ=E#2 MQ-2*3@\A+:[T&[5;[QF,RZAE9S4PY]2R[,0(VQ:^F:OWF8 :JMM=1 M\E9-O>%4RSASTC=/R'4LMV[HVVY@FUHBHGG?*V)U@K$:]],#:A-3ZZ@A8&RM M^3I[-P$K36B?O=!P6O$1D4_OW46]N]2V^W[I4F%&DKU;:ZQ[M3?=G&WL; E^?>]#6H<2:=,/ M\)RS001&SI+%V>FAIB@<^@?WCJ(^P$;2VEHWM'KG&[_&H4E3U[I^?T,F_O'9 M([^B=SZ/B#QT1=Y&]MP8Y')\OO<]V.BDOGHV#%^] M7KXYWAJA)^2O\,A=C?\F7# V3_?ND%X;T7_@N%C\CT%J[]%R[*/HK1 M_MW!>);L<4PWEMU[A9 -MY*22KN92-KV%EY[H'E1-^1NT/AB\> MA/T);=9-S@1N/#_]%2E'FR2VVXB]H[7L:.(H#.LZD3:#MNU&>X]IV6-8SM'X MV(@TH/MY7^U).C?%7*OA:LU: \VQX >R:;!WZE?G(-93BH]CF4G+XZY(\X%L MG08443KKKU=H(*NJPUIEN&B-@^LV(3;^V8O"1U(,V\4DK%LH]8[*#^S9KYW] MXG8'M2#1QNY'Y!AQ+@A2'^WNC&GZRI[G;?)KR[C)81-HN]0LFX M-YM/,4'0*A:E?QK$_/S>/3J:!,FC NJ!@<[]1L]4J5%#]KX$T9?$IEYZ@M@@ M>E5I9S =K+?;@K,5\K'5YIZ_-%P3J7\B76G#BJB>CRS>-V20'BX=PQ4/07)?'@SG&U)1T7BBP/B@]H-A#1B/=O#'C8](F#K"U P? MC5#YQ1W1[^X=9]=QNC6]UHWF_MQZJ[)A%EM^9:]L"[E66VY3]=V]V[3B-L*F M'_!5ZDJ[!*&])/OXFS_.YDE84;SR*T6&M=^ (DH3&-G;AS4AJX>!HDUJ6N!R MELKI[U_R(..5W!_Q;W=_F=JG!'/HO;U$&,P?3&^9?'"[HW(1!7AA& 38A"^V M&XL*GJ+ETO#75R@T;&=S<)DP"KV'N.O8^D1HA^1KQX>'!X>CSZ.M8/R/3/8H M+QS_/I4_^EOZA?_$PI:.&S#,1+Y%[DM]:G7$K3(.9TN"5053Z'1\?CX^.CH] MFQP=G!SD,ZRU-(O9W+3C#8ED!0#K0.3 M1JEB:%9A L:Z+NL#QFU3I$*=Z;M-N]E#*0T-<"5HE4D@HWU?L"8_XL75E4=V M*"10+]2#AK\,4&(P\]6E MY\_ILG+_GC-U21Y(I>L _H\.U;G U*:*IA-ZTY MI!>^\8(['BJ2A;\7U#H]&$].NTUYH0) OH(:MG.:X_;-\WT[N' ,\P\J=J4R M0\1/3$D->PO-,<33P"5)KD R+09Q;(7G9B9Y,&TJKD+UAHAU?<4UA'4IV$[R M[9\]A^2H#:A8E\H,$5 M.ELFY;8+A?@"H!%*&GDZ>6HJ/ZR:6,=XW\\^X8; M)&K1$CO(B/@8=))3']3UH\:$^NIYUG?;<=*QWKJ*?#Q\5X80B509(&&DU85_ M94?"![)3WZHM!7DI Z*'2@N NJRB8XRZ0H'IV[%:\@=@%94'Q",%BBM:4-&. MD4\!++(>(M]\-=+\RE,G_B[^==8W;U)=&N]7> %CAC9>G$R77E2Z,JCE&U#I M6(-+0HLWQ98:_!1]>\GCUL+0V7.;+)ZG08#"()M6;*89KG6'_VP[V-(HB$-, MD'6/0OE^4^57B[@==IXD6T^'J]UBBF[N@,E46-.&E;:[Q0QR%Z2KD-@&4?$U MJ-QNDYC*W*.6L8]JQ5MLLGNC=>FDY6C+G&[(1DV/1B,G<-SY< MU&3;WG]CNW:([NQ5OMO;Z2.#!\,/MVU$B,E41G SY#IZU&]\:2W?]+ M2ND1A82 E:**L$'4C!>-&7(9!:&W1'X<]$)ZTU?[K3KD4*!&4='QT?CL "KR MPCB5T9AD1/>*"XH&DL96T1GM "%7L^X9^]VQNS+&. M=N=Y76)/#ZT$X-AY(?.7 ,TCY\Z>T[;FFHC\ &Q5;AZM!P''^@\"IJ;I1RCO MBW)[_^-RMH14Y"@G$_Y>_X.Q)IT42>(1M]]P>%O]S!K=/"66AJ#G#'\9^<3+ M*"IPZT'K$010JGJ!2TX_+:-,VP-+[(*W+O9X]&R\\XA +=]S LCIU?6U7'6P MXYZ89.X5!+U8>BB0"V@%\@YOJL!VN^ %]UT4_^66[RF8]?3J^DIN\UVU]-G[ MW^SP-=,[&[36;&<6J=I3,C164<-; V_(#]>,P5JP5M$$1^/) MR4D?4&ZBG88T].TZ?I8 -K45V]6K"_<4]AI*I6B?]1;M^%V&\L*;C3J[4L_1 MKZ&P=>_"Q?PGN6CL,'Y"!NM. M9CNVNT"N*;TG=U3>DXL_,,I]862XUJCP#?A[="P#;33 MXZ.STX/)Y/3@1$4O,8O"(,3VQU^^\%R+MM'(*@K-TYN;M=@=2.G==:A6)#,* T%:FE8BHC*:JCU)H[L25\EPG>V2=[-PGS?;#:E Q7^5=SA M"@ O+V0@?%"D.*B7,:I37/!),%"(90!LO >;FZV5 =0X=7N*7@+T9X3%7*_( M\")1/@3LUT;\%Z[HQ9O.8=\L1W,//$51:%XJ2@*A:3OHOI MO(^TVWC\*484.Z5T4=MCK&W'K_Z*(L('DZ5A3_!D!I93RT/'E 6,$*P,-8&$ M"^\TFAD27EFV!Q@R4."BR% 2"H+DJ:%']+;)K.,M?&/)ZF"I%:!C*=/'RBD) M\59/M0KLGI91!1RX<@B)0JR]RZ6_"U=J"_,6)Z]*/_ 2ZEMKJ]OU3B'$J_@ MF%"_6Y;1D+'3T/DM%\UWZ[O'6 8H,9CYZNKLG]_HCVEL_M8'#/A6W.EVFQ\5O3.\W'%NJ]**0R."N@TC MMHI:4T++#KBB2<2?D;],?[Q!NYNZ0G6 P\W&;.<!N$! $@$&@ 4 M8FQD+3(P,C0P,S,Q>#$P<2YH=&WLO6=SXLKR./S^]RGT^*8]58M7 01XS]E_ M$43.&=ZH1M( 0D(2"J1/_\R(8##@"+; NG6/%]!H0N?NZ9G^^__-QRHQA:8E MZ]H__Z/NR?\14!-U2=8&__PO5D]DL__[?W_^[^__+Q @Y$Z\5B D773&4+,) MT83 AA(QD^WA ]'0#0-H1!&:IJRJ1-R4I0%90) )A@/1/H"!($6% M0PPCB$%26/4QM!&H$+@TZ\&Q @, C'_NAK9M//SZU0>6<*^;@U_K!WC.S-VZ ML:!*VX:SV>S>U@W!D57I7M3'[N)(AJ$VC5594_9:SP53=;NF29+YA1\+"'B; MYG-+WFL]8S9MJ5^=8J$N#N$8!&3-LH$F/KZ%^I3L[8N[0X1^K1YNFLIS.V!! M<6\0]/U^H$]_R1J:#L10_66;0+/ZNCD&-L(!ZH@*!7YJZ12S,]JFN0G[)T'%_D)/=]3I M/W?KYP%[8<"[7W_^MF5;A7_^_K7Y=]65H$N+/W]+\I2P[(4*_[D; W,@:P'$ M?0\,:=B_T:"_T..]-I)L&2I8/&BZ!G$#>?Z >X/FZJ,L25!S/Z(&*1.(>,F$ MH\EV#9-B$WW@ZPB"$C EWAH"$UI\VZ)'@Y+0SRME)Y*'K4:NE"O,[E:KG*]> MC%E\N<\S/$/Q6![PQ>%0JHR%F4K6ZZ$$:52YV;(SN",D*,ICH")49DNI.T(# M8S3GMCU:AF^$ZW.R[9E!$@V8C5C@V:K4DO-SKA: MK6RG*@6NI#BF'^N/R:7H',]RTJVE?8Q+(W%)MIP43$E Z.XN(G+>JMB-JGR!90 M<;<[:Y%T?9JV,Q9HYA4M!0*C*&PEJAY%T$N+62RR\VXDI30Y62L/V.34G/6* M@\?%E)"-:,KBWE22CNGJ")[BUX!MZ#M0SM$B;QE H&.[.TE^UNO%R+3SDGFTDFDR$*UDNSNS]] M).K@9TXPX2 $H^G)E@C4+@0FITE)9'GOS+4XSR@A.3@.-=.9DBV:>BG!A9'D M# 0H.O"YX$RN_8['Z:;0+];.9$?2HJA6!IS%T<-J+4^1H[K)H,GB ;YNIA4T M@"X]G6N"C6:M034H-G2_6KICNE^ M\*X"KD$#O3=$[DG%U 3$\_7;P?2-N@EG!RO.*%")6\:)7D11)A? MSQ^ZM<;V7K:5C=_4' .O'\$5A__SHZU%MF6^4CH@^6 M>4XD(T2:-M8H:S13Z/_;?K;/MO"3=IHR@4=P;)Y\G"*878I@/DP1C?8BJ=?S MK8RR*,7C:CUFI=+A@4\1KZ0(YO44P9R+(IZ:]F\C@88)@>68"QP7(,VD#4H<<#4D%MJ MK5&\3ENTA-'$S$PXQ(**G2Y23O1 M&)=BT3EH7;MF?O7RKX,*=L*3YS+($@F>+C)Q?M),]#)"8:&2R^#PVM'^V089 MLPGS?3&:3UADPU)R4DCP^4 SH>=UH2<-TLOZM>/X4RTRKR#XT"0#S185SB_T M*B]5]LE)V9#-X;)SUMD\TTB1Z9 M,R%'CF,CDRV.VW-=OG:L?[Y-=A$'[$PF68<=M#/SHFAS^0(-YZU^KE\-7;O: M_F23S!/X/;3(*J6PGJ*544!QBASH3I3>>&I<>_SS\RPR3V#U>8.,:D='@YC$ M1)JP&4T[JAD8UZY?*W^)0>8-;+_:'JLG!]%I8S3H-F'?:*0&_,#.I:[=D_YZ M>^PR03+Z; 99-AH(QBHBQ3?!,M!3[$:&*46N'>V?;9#1%_*^WHKF$Q:92.;M M6B0PI158R M5G-FHI5)Z8IGY;1'L'CQ9)**"K02&,/M082"K@T:T!PC28/G.(6XQ2;!>Z97 M]5)4CBAT*@/;^FS0*48]RXB[2UN=&WAF;=>&/\NT^1K0!BO$X6]%,)?'SOC) M<9$WX;<6GVMRQPP$N;PS5TT1M,HC[Z6$H,4^;)=^]P=_W5O[251^9\IYM1JN M0'VS<9 ?J66TX9 * :\<;TZI6#K/=U+4)[Z-+\[KZ?>',#N;\A*Y9 MNBI+;KLLLC'W[>DR&@S@X\/UU5(V<8^5T!CI9L*Q;&15FM962"!(K?"P];(. M3/BX8\D:M*Q-I]MWLWBIJNI.9OUPW4Q:+JU%/HO&<#..Y\T^>YZZDC&68X!QR M5XTLS(+E=F#".7!*SUW>Y*Z3:/2YZ]7<53%UR1'MLKF^L.J1OX"L MI1W;1G@^H_8:%:HA36+G:K/,C:C@5(X5JCY_;0<]AHTUASU%AZ^_OC.'G=9@ M>K.^3,%1,M $@UEL2K*#D,/Z'.95#O-UV 4Y#(DO9R6\8IH4$T6$ =V4X3D5 MVE@(!I7EI*9QZ5"D3PLJ2.:SGHOF>9#=GL>-K]U\WGM1U14"738QFB7#2CX] MX6"F'^7(HN=V+GW>\_7>)_->6@46OO&P+6N2/CNGNK- S6AUZI,X68XWR5BG MM# 5V;-]DNM5-;IP&5: M68QC5'(RB352T%=Q+\4CGT6,SW4^USUO6/:@..Y7DR3- :Z36K3Y4D0@?2WG M?:[SKBK"+R<-N])Z.$YFR64N4>UZ1'BUDRUE(C,'-5WA MJ2[B)3+?&58,JEF*)X OGYC=;#,]'HIBL;H9YOEXCG>6@,VG,)S%J M=%6&]A=;#^^+)_ET_ ZI?,+?U.D9B#I\H\6!:H\;R=.DW;=]<^*"7N.-4N^K M72YM,5-;I%DSE7*H:%H4-QT9$T\*3=_G.8'K-[@KJ7"AEX^6H(V;A-)IO1 :2G3PR@C@;7D]-XKW#]NF0G+_/SSSYBAJB5\==IU-.^FW S%+=V519E)1E"<3:V5G!D_+[ZY%L5M**N%"9#;L*E)4:,FC"IL]X,HWDLI>N[W*K@<]@'-9@X&'?; M4:?3:@9T>9!LRYF<87K2(?4YS-=AE^6P3[A5H:[#@-%O6KQ"6^54F[8ZC&/Y M[MA5G.SVM=LU\-YI53G7M71CF_*=;Y5>4&K M\H*W*K A(\GW9DRG638IFBRV0B76>_4F/&A6?JM;%7Q>.X=R8R:S"9?*YP62 M'E1'69D+!B,YG]<\S6N^7GN>URYTJX*46H!^4^++7"(49TK*K&+$ZE=E!WZ; M6Q5NF5[?L(/<"].%?IJ++KBZH8>'"<[2[>Y5Q0N^_!CDYYV2^I8T^\*^T* S ME\.U]F*A@.8H-=!),BM/?)%[!2>];IF:WQ6)*JI,)3)E)A39YNL9/9:?3&:U MJS*TO^6M"K=,QV_U-ZN5O!R)9"N@Z4C&&*3D;CJO7M4.^Y=+XT\^7>-1ZGVU MRU6:,D!I\\$BQW+U2=SHZY*21=SM5PN/FJV1:U?T;-L MV4YY4K[X_L+;\?V"J1\.Y]2(E8^K9#ZEEM-T81CNA#W)ZKZM_4%*.)Z0U!\M M[$0E1T(EH3=8H O1<>[:KM7XW%L5/(KW#]NFY5FTU4YKID.FP\&^6"NE ^F M)T6!=V]5\"AMO,MU;JN" )*<;"OY(-,QIE&SWY,\*1E\W_4C>N&$VPF*DT4G MD!@9I#,,4?&&O,RQWHQB^WZ??/(^C8/-:F[BH,4@SC!T;;M9O6F%C"=GC&TI M*+EPP\U,.,3 GL*L)B+^6E.'W5,I1>H5H))GA'R\.!6@$O(<=1SL[AY;_>-> M]JN7?S$*\N"]')>BH%J.@\8R1L:4<:[7I%,!9Y0:>\[+\%XSO2[!!5^3SK( M:CBLOEKS3G1E$S5J24MF ;.@*>NT(G6+C65WZ2P MF)Z$F@SKVVN>M]=NBY(#]4YCD4A$Y"9=C,@=?=:7)Q%/[N][S5Z[3CIXWEZ3 M=2>2C;&1>'/2+>8723D8KP6OTGK_&GO-"S3Q=AL^H9N&CCJ!I:U@)(0&JF^PYN6EKQ*V?#Y MM.!!N?"VG9L:M &RP"0.F!I2L1OK@>HR$2J?+)::; LQ[>N$US M?*W?24Z.^,GKG%!UP;(!!LGH6 W%@9\0C)379TB "9,*,EV"N D+'NQ[B*8U0*P M:]5#).Q)K5EWV@B9BNPR$NZ3X# QO6EJ]3)%@ M?EZ*K#;LIA%K=)0F&YD/A%*[+QEQS^FY8Q2Y"PF?(L]%D3&++_>/&%,8+CBV M:CIX+8])=.B;A'\IZ??!AKX"3VQ@0KAC7[^*3.M0=-#;^-GZ-86?+Y>#;HLE M\P)+EKA6K1JU/.>B;4CD$$#K7+Q70.C2Y'L VW.2K(PC[JCM(15NGKR7"L,\ MS>Z;;1>C0C>@#56P0% RP:R!GA=TH&T8O3'3U[UHR79Y4:FV6THY$+&T-%P'/R4LO$Z4;VWX%J"]$H\B:# =H]EPT>B@I/Z",^R->*>EQ16T&1IF$4>W: M\[YW'0N/J,S+R1^*/O ;/X#<3BLWAR6]9Y).?IPIE$OMBI/QD?L&QJ7HLR#W MK>&C=^SE"UFN ?,#(:>49R.C5YHT"QSM65Q[3D?$>O+;K"7 MGP]S5',<"Q28&6=83-"S@1T/BO4S^SGG9?1,-;*@>A-E1(Z#!7I.-2+52"]/)GM.<3= ME>VZJT>6YG7LO5(GGPQGXNU>8Q7CL[?WWM#)@A!7.*'$R;'J4N=9HZ-U/,N< MIP.(QQ9W4WKWE=@_$1"O0TW631#$AP;>+B*.\$]N?!\ MT\?(>%X?J]!:3)9-VB8;=K%*QRCODM:IR/@IR'T\&OXRR!\%UBMA[E/\5U#\ MT(2;P_SY5KPP9'.Y*M=NLHX8MFNAZ[P;H1](M)<3 P=7'.I6>Q4KY0 MR)NQI$_SEZ#Y+="_$\WCW+YM**(N0@V@CA\OK!OBW+>LED =FKJZ>?XLW;_, M+]UNP6( M+(Q3[513^)&]2IHYS/.8MP* M[9Q#!27R+4D;"(5\LYQ22;)8+E='C.=,=Z^I( ]@]\7@10K(9@NH#HPOMA\S M"/K %(>+ IQ"=2^ L6V3U0S'MMP&U.DNBQ!8CNF"-V7"B0,U<7&\OYV65DG7 M3'R"Q)2UP;KON509)ANY8(-+9Z;AA@5#M4CSZ@CP#:T/"C82GSBT.0DP+/9#+,,FDW/^N W>3KSXS9/A(W;7 #:@&S'F$I8*O0" MM. Y?\<+H6 /8G&K(0=EEFIPO4E)6:3BPVDJ6@@NK:O'XB6"HU\N3T]&'DPG MEZZHPQEHTC49SJC).)P1KTR<7G=\X*UG30]58K@1F#I6M5MLEEMAHSW+Q3M! M[VV->$LE7OY\U$D^/*D5BR(?ST>RQD199&H5$,Y3 W;B67EZFA<_62]Z")5; MU<@OS%)IFLH9S3P$,WE<"Z47\RL4JY^L'+\0E4>U(Q6M34:I5@>0B2:S;#=3 M4V[JW8MH/*$=/_MDXOX]!%MTQH$%:\"&<=TT]=G.%7Y??:%,68-/>FD!4P:" MZD[WF*8O3Z&IR8.AG9(UH(EH+;AE7>^;VR=938+S^@P8^,EFIR :D):R,+"5 M=(KIVLM6+2$N/*M-#M&XHMQ3>+Q986U2<2&I0GQ8\:Y-\-X%PR)!X M[..HO"DN.Q7'B ,5R1U8'T)H%W1Q5>Y^5SW&1-%TH%1 8,,T(F^M-JZ3KG65 M?%)1G$P;U/.TU5X$:3Q?A) ,K12*'ID H8\;8>IJ:> M=;%.8Q1+ZV,+O#TF/8G*.MT,&_EHD"43LTYL.M)-VYC[J/RJH ?-%_IPPA5L M84*FU6I8MMI"C^(^.=WRS\TM,\#5F3;5B0 MIU#*:FA: QG10\RRH&W%%T6 "#RA NM)L1''LO4Q-&MP=2N,-92-C?;*V'U* M*82J41)DFTTFR0Q*<\.[VNLXX-9&\5'(G2$SXO4@WRE^_6Q^3V?,Q MWT##1>0(R59?JK*A_T[XBRFN"6 SC_(2M3M+D@DSK=#*99!4/VUC/ M$<2K%GR;1$+S5&A+)8]?7D,F<1,(2(YN4JAZ@7"Y7#'"S843K6J-X52-=KSK M'S]'#GL+NR3:D9D2>B7:=YM>O)S1[,4+T6#"EWLE'70Z"@=U@O7#^_?K_\I M]Y]ATFY!RW8O(4?&HBF#+W05)GEBMRB M1X75@-D?]73/&6:8NX[ =\5VSP#XX\;_!3'SB5<"?GE$_075<;W\DU%+T^H< M,+.FPQ3U<*F^&!I]GW]NF7^\4"WPW?Q3!*8"[82N2:M B6<824Z83DE"TK:!W+\OU$QR\)A-7VQY!GB%7)%ZUV2E)=UH,F>>7;':1 M=I8IPV/;'FCQP0!#GBN!B>;IG7V.E:^&8QQ8%"):6J6IF2:^A@WC-;YX;%(! M"S=S'9?"09]UQWZ\J>YSQ M2/)G[9K'#B6V:FPP8 MWA[GQYT&[S.Z[Z5_$I\SWXO/O]!++RZEO!44Z" G1Y+)RK0YGK&&[Z7[7KK/ MZS?FI4M.-B]56K#6!--(R5290*P>]=RNGCY[Z5?+Z:M#TK0W.?WKO/1 ;D'W@@&RH( "K(?F\R@YI'R- M[GOIG\3G]/XI^5OG\R_TTJ/)3BX:D0MI19ZWB\PRGEAVO)<@[%%.][UTG]>O MQDN?*N-6:51*"^E7Q^D[5YO1CR=<]K-H/I.S,H/^3&:"HX8"Y+2>';2I"$;_=JS*;M-SW(/'_UX8&\_F/R9Q-KC^X.PQ":5YL)HQ_AVJ,(%6Y[< M?_WFQ,J\GEB9"Q#KQHS:N322_G1BS6>9="LXE:4F#*8T%KYWO]P159WL3Q0Z1CL:EDRT) MZ-FQ4!_X5'TE5.WA.PF.VP:G[]XJIJ.%X:*S*'()(2./!_2$B4F>(\07-/7G MWY;E0;GV'NMP%,L6!JD:5>38696)+/+ZQ*QXSCKTE)WF!=ZG=S%/OPOSM639 MR:EF7%;R]4&?;INTU>M<&]]_NH7^6LS3GI#ZQS$?'FL=N\K-:LU$(J#TTEFN M,_!N30I/8-X+TO[BOMGS5%,B1Y&!'&*9)I2&)B"U1+ 9\2.T/JV^@E8MTWZ\ M3:TN0@V@CK?4RDW1K^5^$O:!HVX?/R'5HP6_MS>U04W6S=WR\;:IL,,N8R\4 M.IVP4HU&;>IPGK-K$%P>CL)E73O^&7@?W%*0W1:^G*M:=+"N_ M XZD VF2H=>$5DF+6H]*)KLDU&I\IQ N3F3%#;#U;6#+]N))0G6%R.>*4RMQS.1\;LOC:2NK/JY1GX>QUZGPA M]A(N3F>]M#R(D[+,ID' H?N-LA?JO7HN='&FDE)6(*>')Y-1GJ0+C;[4$\1& M8>DY)_8-[LCK"M)K&ZDBK^2U M8E\3VIE,?';-DN%S](,7+(0S;M>3XC(QE0QQTJS782J=4TN!4>N:J>#S],-5 M4\()_6 /1_7F0 8S,M& XK ]M =E^YK)X9/U@Q=HXL0&V+Y/N24+#*<:&CBN MFZ8^VZG'?,[H0@L@% FJ.]"3N+3HH#?+4VAJ\F!HIV0-<2Z:!6Y9U_OF]DE6 MD^"\/@,&?K+9FX>0CL8-,\_1\W9%&-"LSGM/A6T+)1P@8%TG_ 0&/AYM^-I8 MQU.D[X;./X#UF[;M3O#N"1X\&7,__EX-2G#LIOY4W EN^WF^65V>K[M=))!R M3?:9 <2C7 YUH@+5=MSWL-+U/_F0/X[1SP&[M4,7@GO[TCI)[04%@H7TU(I M3>A(G>P8<.VEU$K.*1"O9SR[0W5*C9P"D4?5R W3\-=*:SB%F\S53FGG]"/'O1.TX9>7Q[#K^5I0U>>R,GU#U5TCT%_>X MDU %"R@E33!KH.<%'6B;&3[>DH%,'3'M!)0Q%^"#9K%3<%C=>^4)<8K,SFET M_'4/$1]GDQO1.*\>_73FP&O(QI/RR8;3G:K[7#?D)6]8=P8(3!ZW')E__GZ[6(P,V=-.[(@)P#(BBR6 MN%K=LSM_SQ9SWX+DX\1Z I8[&V_'@'E)(@T&:/J51+K;] Q$&D+J:4.CV\^O M(5$D:YQ5)?NV;BI65A//0K&:&1P--"DT5Q(9"Z8CX.+%6' ZEREB8J62] M'DJ01I6;+2]_?/\5D+K=FVC #)1JQF;-!L56J7OW'Y;:MG M A3][M4[FKQ:>A-]P&=G-0F8$M^L)_E1:CH-,5V+XO+I19_5ISK?VXG;CR&P M'!/^D2T]2%/A!_3*9HS-H\UW/,@+ QJH/=_*M;N.TFTYW,(N5'/3IK)@[<,1 MU^M"'S\PH(7OD;7XMD6/!B6AGU?*3B0/6XU<*5>8G1AR]<[;!TW*4X1>%ZCK M88UA0NI-F;+#L6I%G=2@D]3ZCVI, _>!__F(2:/I:U M8]V^=L%[7?S:G_T;D+%2+?Q@46)8D-(L#K)%-)>1:M6C(^+VSP_W2YX_('CICBE":_5U"('DLC0" MRI^_T1_"LA/E D^9_?!I DY.X%5-BW'T+WD M[".Y$.B#L:PN'O[70#:%193@C*CI8Z#][^?J%_2OA:1)_W^_W=:6O(2H(]2G MBJRI](8%&FV8@^<2\(Q@#]9QR!M:A"8#X(NCW\_13L M!_#< 5C4A: [9TP]?# 48F&0"?)]4NSSZ /@A2@I\'U1HH-1R H 2G>K:>P, MOD$CQ@EU3QKSWX)N(IIP?V#N,7@L794EXE^D^[\+8F5O*J@!5@0!H,H#[4%$ M@(3F[M2H(U-[1.OOH[C#0R-<_YXB8U=P??B'H2PAS8::__=?$9ID?F^1M474 M!19[?''[LQ<.ITYA?._2G*"K$FK;+&4;7)*H-V(-KO[W+V$U^PLAZ8SSKG.) M9BW;R')U(E9*$EPGD8F5TAQQ14M(E(O%;+V>+9>N9M*S(=(4 43E(GPP3!B8 MFR=4[LN^]2XE@V;.> M: #);5L?N_/=$=R0A 5 :F[FA20-15W7S82+5-CVB P^ZP M*"3O6334JF,Z=(]Z7LE)I),TN(4G 1Q;QV.NQ-K%A-O78/7C"XF\=2%/38=] M#MR7$ZERK;B2:\CH0FAQ[5U9)-;N3@V;'.^+"1 :P)ZA%? 7ALH!F6CX2#;"0")!"&8&UPK-YHB+RF5-ISA;:;' Q;^9@\S=4Z MBQE:,/FTY52<+F,.R"G<9%EDQ40YV G9,WR#^+JE[1I:&^Y960:(]3:-JR"-0U=2$^WG1QSP;_L\LOZ[$VO+,C,G;ZUE%_?56?;9AD\]T5 M[P^""8$2F"$8O6BB;Y\# 1E7CKT6,9]OF9^6$]1;3;CU7UMZ%0*BD7LFY&/@ M4ACX99N8/UQ4("[%+?^YH^]>Y@N\[--(N;R9/G(L6^XOGK6[]H7H#WPND2AK M\*^M&74 @H^*@X^OFW[;NM<:;_,?GL.^3G,/YMK_W,FH!PN*"!BZ*@!5U6U! MG]]=1N55'6 B[:PN:M#03?MNHT34H)3,!0-)FG1JU0CJAJ\GFC&D1,@#U&U M5X<#'1+-+%%?C!$>_W?,[/_OOZ)(Q_T^J2!?(6IVK'!-=VWP5TB?+>"9^U#T MB^C^"/[?X#!5F[%:@ZL5ND2-JY1K#:+2K-6;L5*#:)0)Y! VD"M%4 Q1KA%4 MZ(?T%U%.$8T,1^SXBEL_,99HX,=4E D>X:]?KGWP!6+RTRS6,\05GEBINDG8 M0TA,-MQ$K*+SQRS7'2Y_D/#5C:B[H006"PA,J%V(S5=',;C5[M&.B>OTV\M0 M) I+SI:2U.5QO9OIOS*4;V1WGATRU,SUB5#1-H*S)Y8E:69^QXD)9Z9#.A]CKC M>1HFJ]G!.HKQ0;,R>#&S\B2_><&L?+LIV:C%2O6L:S#ZMJ1G;4E[RT,;8[)O MZN.517GZ?7=D"8KZBI.?1,2?/L43?W T9)O@3P>/5WNV[E:A"SYLZ)WW[PNK MN?M#V/HM+MG+5K$'>2*AC\>RA9,AB;Z,S&K-P1F,#Q??&.#<3*T4&K+DCKCC M.15+"N@GN]J,@V+7;C 0JA$K]L(Z2)(*,&PD3'ZVJ_2^?:7(ZPVI+]A&.C1U M+H#[&AS(%A;%=@D]V<$_IL)[A)0*\7G=9,$/67\-_0C;@CJQ*1T$WC M* T\]_;]%^\I_^#F0+1=$.$TG4?0$, BZ@84<9JC1,@:(=L6D1BZL9"_OD;6 MO8N(O\IGI^Z#H0.W??WCV3SW$'4?I3YY(^ 2'MLK_>1@Y)Z,W,ARW^*4?@6: MJ1WB=0EZE:-X*$[<7V0-IT0_!-:)C&]P72U/E:X$?E9#MJ"Q M-@?=VCH)W=%LV)=-79%D/N@)4KZ_5]>"8:\2_/X)MO7FVS,?3A\ M(S;,:P0S>T_3-[+<-YEL7X#FUT1D+JZ08I)DXE.TJW\*:'[4CC+JA(-A.QK) M2V2>+V;FY93:J@B#KU-&(23337M(M&55E<'80D(^KCLJG )3^FR[RRNH2^#K M',R&/M-V$#=3A>',:&1I)9$+#Q*Y9*7,A+[.- 8+6]< $8= '+XQYG+!:?U\ M(3?DTQR>-29=&[QL5M!@LB;N>CI63(ZQ$EGN*;(X45(9LU:=N]=:?PG<4J@G M60(>8[@?:RAB=Z5B(@#*!E );@Y%!^^A$^4^,@RA]49'Y8OTX;.Y^PR+3QN> M3F*\'(56=,0.:D\VGGCBG-H+A!2E#YKE^*B8#ELAZW.^WYM*RS8Y_C*= MS+BW$Y%>V]7\\;A#]3^+L*$*#0S,]>[Q3P*I:=7!^I0 B/(1[C82T5.;L.%/ ME(@O[<$>33URR]7(MHP&,5V 0Q-*A.&8EH/W!FV=0"W:F-?#=G-TCZ9"80F$> A%D@^R(9('4;+/4Z(@T5&&8<)"]&FN,)\< MZ3.9+D2F)6U)/6];3 M$:7#YGJ<,C;2DM /I!>%&FY)GSG_^*5@5N2%:-;JE.^Z&V2*G$Z9)$+WP;6= MXGXZBX4;?0]?XZ3>!*OU5BY8]7>2=[ MJPPR]^'3N9%>669IG:_@8A/.Q2&^ 91 XF@VE-$OCS+K('KWE-;#FW6\PGE; MD_KNQ1O&_/2U&Y<&G.>VI-9:8T'1@LMOVQ3A2&NR,%,@7U/*+<4>#)9M.\!N M4H2/B_%5ZBU.$M/Q4UU4?A(&,(DI4!U(_)N\)RF<0TFXUQYMA?K[\H1WV-O' M[0GULUM ZUF!]9.8YQ,8+R7,@;2VM;@EK M3^.%6+I=)%2XX59N+3X?D^$08F4Q3':&_1QL F8(9[H1<09M?!:*?@&Q&$Y= MW52(.N998M/YB\C^C&"%]XWU%^=]_*# Z;C+W9^L)N']:T@("T(<0H23,3Z( M/1M"-S$#F^WF8];?#^HO8@@L-R57(H"JHH?XM ?V R:.C+T 9/P+<-T ];EU M!!B<[;$Z6[!V!W:\B T=8!KA)F_>'@+[Z=QG8'^6;EJQ^_)Z#7_])( F$3_HU1H%Q%/H MN3!"*\#MW:;H)3R+=3_XX(OE3L*=)+!L(DH2$EA8]QN\[\)>DBU#!8L'67-Q M**B(!1[5"\.LL+5^\?C1F*?$\L23.WI0)A*-1E>2L3'/G;C)#4'M0R2H75V]?H6::(>:! _,-F% M?],,?;]N8 ]E"\T8&#C)^M+B<37?K=2#UE_W3]CB]B75#F(Q7M>":T=2I7K! MI#6,.<.F;/;"=*C03 CNY:^^I/($PWL^DOHV6838'Q J>A\20!21+$)4CK@5 MLZ>)C9>COQ*(P )''UAC),30*.9&$R,>&B. +'YB6PUUAPP['!Z5EN&F*K;=WXQ(PW M+65M)7$I6@C0&SMTU_B\W[+0MZ;E=T[\!5?5E:DNCC')#W1S<:$$%ZQ_S<1Z MC!UQW1"RCAAJEX)--C^3>TNY/--T_ $1_KSB/'[Z?>M#'U6A[C!ONN/SV&'@WLTR[DTRLYK@K M9]J=3KP[*'64?,_,U&:T48PL#_-8+P/F[ZVYWF>%]9^Q=G#6P%$C3>X?\Q5= M#Q$)+$UW'3S'6ME(: 90D[!K=7C) S*V\%CJ @\^D]'0F.0UM%P=BQH$.E< M:D 39:!B583/I^'&UKH"@D7@E%%9.K4+S_P ?QTS=S9\]7I/X< W^-[D]N7A M"=R\@>B0MO>8[*UCM=R*%*G65CM)=.I23/=ZFFZ M7%*T>=D3F@NY\V]WS3_=]/.]]&?TPWZ.Q%.9+A&Z8[N2%HO<-8.DW+@0DJVX M7HQ+_V\I2K1W):3FC"7=EJ H(ZOMCK!$@!=([G/7JIY5D&?(%3M5;79*TIT6 M0^;Y)9M=I)UERJC>$>MNK'_NLJ74D=B[NV/N;K[5W1F6'Y>V>RHT;JF<*HU- MKIW-#2O T")Z%G$;0_V,4.&?83*ZX9$-'/ZLMMJM5347=UN^_L*V/+Y# K6. M&::L$@SYD\ +NW]:>&!SWFY=.V"O[LKZMZ\IO;*9$&JS/YUK+K?RVC2ZT#M8 M=K/]Y99:.-N4\??7S/CH4M\$[E-EB'9+6]#4/4;C%U^,^/:K$/_O5>4U=I:] MJ43EIDT,8&!UGR3HV]!\ .H,+*PU$"*1>WJ;@_&PY01FE5H1B?R'>/SH;G^^ MI;P61;HW0#\YD[O^\?4%MM98VZE)$J3NPX<'>_T26X<076?)1J,L30L4RX=H M)LP'(47Q0H24^'XD%*1)MM^GQ4V!B_- \< 8>G,N9+D2;V8+22)1KE7N=S)^ M5[#VTDQC\0*'KUQ,E$L-KM2H>_HRN7.E(;_BCF-WJ #2*N%3>J^;%&^@O0MT'HS>^QA=Y M[%/6^"5G4"O([\27;ITN&'6-++%U^2K M+-\:K/MPV>U5= 0 >(]KJ +2W?S M"7?SX!@&3L.PH M(TR:R][N>X6[WS[Q)7#5G?@&HMV,0.V,^0)W M7"])A%<1T'NOU[I&OO95W0?6>#VT[@&2WI8H65].^.GB-&O#,97*EF*E1#96 M<&NM%W'8BJ>B48J-OB^0B3M%*]J1E<1U,LEEP?2H8-SKO58GE'XT->!(B(>D MOVY=UWB _SR_[FOB%E^E^"1]8R2]50")I<$GVHEPO9)-( R7BL@!0" M5\]P'%(%;)@,1=ZG"1(ZOG\=IPZB3Z[/["92QX&*% 0DZD,(C^P&WACO["=0 MW?T)^AQSA1SC*X$GA.RKA-LB\*U*>/0"RJERA:O%<&'&.A^*D&0H>%8]L.,> MZ'VB;,!5C-4BOIM*"/D<@GZV##A$(EP>0IY7!EI#"^H M"?:&(U;#O3/H=JVL=/>']5GF"EG&UPF^3KAI C_J)B1B]4RJ4&XC+X&*D!'V MDKH!6$,BI>JS[^3A8IA$J-JR/5X&XF M\!3-AJEW>@DEW483M77BA'XXEGWTW91"U.>9*^097REX3RE\?2(K,JGI8JP4 M2Z],ZV2VGFC6ZTB*QDI)]'.AZXK7U 9KLJ5\0"$QMZ20S@VA*KY94[;=P^:N3D$_ MJ)OO.X,1[F!$$9@*M D\WK?3,_X6^C5RCJ]G?#US:-8CO1#D\05B)EH5$GL5 M\[W7D;DJ)GA+*N:,P-ETXFH6W V4L#+Y=JK#WVN_1H[P58?W5,?GBT/W*HTL M7\9WE5_\RI)O?V?)Y0'M]O^=+BOYOCSL*RE?27U+_Z8 !T#E78/;K:)I?<"W MN:D;2GB\))ZZYT\4;'\1)"YDB1W(?B_MX?LROIJX#4KVU<3=OW 8GT\!T=;- M#VF(V"VIB(\#!?= K'OPU8.O'JZ ^GWUX*N' TG8U%95PZ ));X.U'<>TKZ] MK+ S 6:W&P)WXV9RK0Z>X$J7CBG;,EQMGC0MM^;-VO'PU8JO5JZ!8WRUXJN5 MPQ0FV 7A*PI?45P!,_B*PE<4!X*QB-HA M\[H/[86?FW4FD. .B%4'N^F]OIKPU<05\(&O)GPU<2 35PE#LM;7/Z E0K>D M)5:[W*%[_GT ^>894KYV\+7#;5"RKQU6IQE8GIL/$20^%'-B;T]#L._5$!MP M^HK!5PQ70/:^8CBW8@B^CL"C]Y&OI_"MT%M++3ZK27#^3DV 7\7717U;">C? M$.A+P!N@Y.\I >MH@L!V3,A3T5 H&'J?$-SV\NV$WXF;\'[90%#AETZ0>CU- M7V*6=&1GEJZ_%UG]^W3&)Q876!&'N\;7LJ8D3__\C?YLNA95"$Q,9K>7?,$B6L2 ML'7C@:;NV7T*"%+WX4,2N#@SNYAB']ED*Z4;[[UNH8%)=%7R!I'&L9M*G^&9 MIZ _!E% R-(_=WQ8@HPH!"-\*$23?# HD7PT1--\E(J$^V$A% V&A;O5J.>! MXNYJ!5V5WL 77I::UR';_5E^PUF^P$_I0KE>C]6Z7P,HSX!FY%BVW%_L3[4- M"<>"!!!-75N,K9\$$)#&G,JKZSE_NNG#/$U M:_90MHB) TST1%T0)C1TTR9TC4@A48_T9Z#ZDT!VM#@D@ FWW<@:>A$2 U6W M+& N" &J^NSA.Z+H.GCL6\[2-:.WUJ=K*F++4P6&!1\V'W8GA8VU]7RPB2*N M3)M]TW#'65S;A>2!/6>;FU$WJUNMZ*2_BHS%)\[JS 3&NE>:N0\SSSFK.T;6 MSG@Z&J./N7(-HLWW .[Z8658SQ!07C1HM\^!8.FJ8\/?V+8]7/5U$,6>C_)L M$.%9I 3O:=K'B;=P$J;O29]1+H:4W=CD^\786@ZO(R24,2?<"AC$)AAPP9A< MY!W6Y]_"(1 C]Z%CCB)RBI%Q]?V2U9E8<1N0>_B7*$+8[W\ZL%Y/8'=_F'N6#OUG<^[(K:9S)DI: M\=OG@N/],GP%C_/QUQXS71=)-'0C[LBJ]#^+6%.'M:(.1[/PN33DJ6INU279 MLASTI0A,Y,A2H9\$3=*4ZQY+#MS_^?D21)>PW[\>CL%[ZJ*L]>WXR,O(WF&: M-=Z?9YJR:.L"- DJ^(1M4E P'1S]67$.0[^7 M:C;J5Q<50C?6X=W55V 8)A17,5_"#4FA1R:T;%,6<5U!:PC0M\.?$+_+N*F! MW%V\K8?F0H 9&F\=.$:>GXPP)1%PXLA3H.[M\GT?W8A$'DW4H.$@&P%86TSY M^O%6]>._:9(DT+ JYJ<5IYB/Z#>>,JI$"(L=7D7OY!QU0= K:_+=.O&V?+?8 M& D27'T.&9?W1/#FE.57\]-UDP-6<)B#$LCVE&TB-C"A6ZJ06!7&7?$3Z_(3 M\PTU4$S3'*!B':2;MJ]W;E7OK-&\WH'ORRHB_9EL#UW6J'.)W4WY/($4DH4+ MJF'>J4/1-?XHAD!N'!7Z(?V%4[/<]Q[O=N/F2(-I TC$1!L_IJ+,H2#^GMJI MGO UTC?72**(YFJC.>'JZYJ$W2 BH4MR'RUR[V#Z-]([]::O;6Y6VQPC^*:! M+2Y?*>#'KCOGJX7OK1;6/GV?2,HF=&]9QU\V$?1OJ!/B>C_F*X5;50IQH"F8 MP)%_;J(U_"1*]SL%%[ZW.C"!(*B'NM%7"-]+(:S(@,AJEJ.ZCL%/O(MS*2;Q M,BB>1NM\M7"K:L$-UT+)W16L0]OJ&P*JX"+KV]NU:38 MU7!LQ-FGR]\%VD?L[]=MM@_> =*R6=,>VL*>##349J1X! M&68:M!#O('L-%Q[%.NC?U,X!'?22H^T<;1.!-?SI7ION1F<)7SVY+-BM<[Y: M\CVE \D\([JZJ2#?!Y\DW43?OJ&.JB2ROE+Z1D&V"M(8[MW%IJ[N)?,4"H=G M0;ZERJAN[P3U\PI\KV:7'EYU0JWZ=7D%1ZL_7)P+&C_Y>Y^[KA4L7J"B 3]:P70X]W%&"9T[^O$4*S'B$.W MS]=6W]W9J>WJ@J>AV^@GA;"^#O%Y. MU7Q]=:L;1ALQBV_=UUS_I[_*?T.<8/J7$6R@5#EO>-K7/-=( C@X34B_A%^ MJ!OXX(%J+_!]E)(CVM8ZT^ QEOT=547-W\6Y74U1RQ(97<63LOQ]FL<3%/@B MX8(.#OG=5Q#?2D'LW.N^N<==T$U3G[EGV!R(6R00SMT FH2)QBIUNP:VO MZ5[ WG?6-Q/T'5R/G@#BQ)%7];ZPIW[,0/^>ZNC4W5B^-OJ6VHA(Z*9Q[X:: M9>2DS(:ZJBX"^@Q'T$1=&2#J:"H( 83F")4LR,.4C56A,NV.]5P=R MI]N]O@(B5-7?SUU+G75DV@(%5W4W01Z,_ '4&%M9&'$;OMU7_'K;E_3# "0J#^3_$SF<, MI ,]6':]_% -&$F0>*$?%OD@0[&\0(I1O@^CD3 4 M@T @A;TW*L"TL_SV2#6?U=Q:-WC0=;OSH& 75&[%H^>U"EXB#6X(E=JU'DJ&J78Z%=" M^$F=S=T73^0-X<40U#VQ@XW'%6WK;W[68EXHO]4H5^+-;"%)),JUROT.2A+E M4I(KU;DD^E O%[))M()D/%9 *^+J&8Y#R&'#9"CRR;AY83G;61.[TR;6\R96 M$R=^-#7@2#B9X:]+,L?;*KCN5VS]D<6[PKIC(8/7(N \DR.6TR%99MD*GVX4YE4^R)-/6X[5 M,93:;KH-WI-H<3:CS@V<.6;*68 M+J:&5H2;-!HM,U?J4C6GBEH>K*B3I*/1=B%I*OE<=UZ:%/MA.H;[/%B1*,K] MI3D$75*FP\!<*)E0GXOQX%*D\QATW#)4K7.X4> MHC>&'H2&DVIE7HCQU!&,#F=2C:Y5"A,.\7PRNPC6PY$LZO4(2L?DT*@.)O-4 M<[$89GNFLVQ/\VBN1W *AG9&YCOQCN*4S1P_XY<@UT40.(( $JII1XDFP]RB M3G<:UI 9)WI5W/0 _[.D!9A$3:]S]5RRJ]2J:3H>F.&F!P30GX^C@Z*6 ]'L%68\G&,VJ3JC3;T]$@V)@OG"6:*WT$6U8?<'E^/F+(28X> MV4RIU[&T*D]3ATU3&HSEI7I0(9T47^4TK5L=Y-RF!\M2:D*LUS.##@F%<3!2 M2^4BL<8,-SU8UD+3C&0WWT^@907)H-X)93,::GJ$7/API%S(I *:TL[5=-K@ M1IVJA)9UA%R**2G&IY5.CZ-+?+Q4--EIGD9S/4(NB<20LWFC,5?27,-(3NN3 MQ=Q&38^0BV%,*AK;A0BN6J_/ML;*!$S1!(Z02SE6-4)Q6&:;.)D/UA5K5M11 MKT>XT""7:IF7*P('%7)4[;9,/IU'O1Y!;+(6'92;N7" 7'15A*GL**TB-F2. M(+9390ND(P\@)U.%3HUO0BL3FO',$<1VF$*BWY@L$UQ^J?*F#!:I:;C*,T=0 MT!V*2B<0C 7)27XBU,..&*E'4:]'4-!(T-%QKJ\O.##IMW(@#2?#)6IZ! 5P M!OI4W%(UCM6KM69= DS>0%,.ZAHL=G)ST$%-C\ UL^0+ MF7B@E^7RMJ8U*HLH/6B@93V%*T^)09%B8!"I3(GE@R()^$@(D0J4H@P+@J+$ M@.#;WWC"%:][AWFZB%AO676L63G>=.+=MJF&YUD6J:?@,5:V!\/.5))[Y!AR M[(BRQZE('#4]@O'A(*FP26N@<.U2T%"CRJC?72#U> 3CH4QUVDTL!DDN'YO* M9)^)M>E #+E\1Y0$1]5SLXJ8;(),("%,U&# 8E'3(Q@OC:A61,PNJV0;R%G!UW. M$C;>"ZE]Z.03?4]&?,SXF/$Q\WK,4,Q]U!=GGD2-SS0^9GS,O%F<1:(^:BZ( MFM=?2_ Z<_D+P1 ]5P[+1^6%IV+D[X *\M;PC__[>"2$FZ()H[0:NN8@R MYH2;-T-L]M$O",+HN7=(8OADVW8;Q.<=GW>>YQWZO;Q#L??D9?-NS\X;15P[ MZ[__HECR-T/]7'W89Y7O0R_OW8\\(P&%[J/AZR*@)!3A6(#FLS1T8^+VHX3B M\]/G"N1;,F9HD@[Z OJ+!?2-$11S#FG]N:<%CH+A#2Y!O<[MI-B=@X^\<&+D MZUC+A]SG0FZ]6^"#SBA]PZ&OZ-0>GZ 2-\>]K]9%?,BO=7.A=GF#V#K<3?\MS?,]!R@2K M^A6.)MLU?'X:WZG,;XHR\\UZDA^EIM,0T[4H+I]>]%E]JO.]Q>".BA!&E5NMNR@=R0HRF.@6O_6X_:,Y8TNWU\SM" V,$'<<*# P'C 'QS0)_\,]LF_,3@#37""PMH#J MP#O"0DA#;Z&>-R<66#T:F0&FK,AV?U2*%EN])CWC67PL(,I&?D;(Z-^_]B%Q MK;1^-2:5!_CD$B+@\_UN3XH BE[+ (;O1*OSLFT9 9*-6,W8H-FJU%*S3YD0'7$4\X;?O4H @1K 05 M6C\)#;I%6) 0 *JJSX F0@S_]6WH:,_:9JZG 7^O2G_XC!XV;;>).E=083-DUQ\0%H]"?YK"-]@S'%K#9%D-)75WE> MI6=\Q1:-%P#E*;#X(922T30^*;CV++B8[^9,(7-)R^-W_<8(#(Y_7/LH_>Q^P&-3,8MII;*N5R M?A9OMQI+M35#S.Z:33^CS'<)(^&"$[]Q,1D;J)>RF;S@%EZ'&>4!0'D*+'X\ MZ?+[:"](RO(\&(^F9#K*L?$,M0R9475B5_$%X=@N^HFF]#/(TGY,Z:9%A1]3 MNBF;Z26>5T)B)JM/.WEE$975":N,8XER#/,\BWF>#$9_TL'@-<65KH:O?2>0\-*Y\1INBA.X'0OZT81OX2)*CF2I0C54MII@4RWK.RPF -"4W,E!XY1D,&? M+'W^/1ROV5D54T=@LQ=NW@N^4, 8(W/$/6!WO>[&51A7WUX@^H>9SIJQLN+C MB@HT.Z9)W(:5T>=5:75X3"S&^H@[8J+HC!T5V%!*0L-$ [C%U]&;L;&.L+I< MU6(_E*"2S,\GLF&EE?ITE![S W8Y&PUPD59L>['LSR!]0=OK>S/0#::\?#=A M<,F4EB^0!@6]W1!TSAXJ,K'2NB[- M9%6]*>_J*DPL+P#*4V#QXU<7-\0VW'Y$0':RP8YC@C2 M!7D*I>R6FU>)@,=/EO8R?9ZK !#D$D-=G4JA1CK(#G@JA.V=4#CRDV&>N[#. M)WXOP\ /#UVOT?)F3NZ.BZ)=H+HCC@U6Z7QN-.[-PC',R>6+N".UA7WKF[0A4W!4WW+X0 M"(@(@K*X_?HW$[6ZNK5KZ5M+M'+BGNHJ*PO(DWDNSKGR+"B-_,_H'Y1M^E'A M33]R2QN>J_TV@6)LS9AR7Q9HN;_L5K&%5QAR2^ \[@M^I^EK'JPE 8 2I3=) MA)M$\$A)F_^M8>.*P4UOQ VU5K?F([R]$AFFBZ@: MX4]YYZA&SX?7Z"&!MNM>!!F]1,#=)1N@)&VBM\:U*^>.G\&Q#F=YP:A"*'(1 MF_C+=:TN&MN6@L?EENDT":",HE%P$=+WR]?:29G,:K7=0-B:4.$AQ93&&2+-T9>O1)@L7^?7HCHOX,#^CS*.,0GCQWO8 M _-[-I@2(*A$B25!3=@3)1>T79!8$A[7D_2<]IO:HO\=_W2/YRW?OWROE85L MN5;NEL5.2FCD4V)++G>'__WW^(Z]E;MX_3Z$-B0X_.4.A( V I(!JOER)]$4 MAW)R*<=28UE81O#MH:S(NWAK)D%0B1(+RA>+]VYUV\9!_AY PE5URA&7%SKWZ_KZS,E:O<5JUV=+&H5G>RP/>X]5Q0 M"!P>C%,,F^88$AV+(]U%^10?WX+X5>7MD?DTS5T^/"\!GO_O[8ZCS[^ I47 2GN3E..Y9@:\M^=@.<:72Q%-@N5Y%[9) M$@25*+&@JAE7-W]J0.>[0.7S0.-_#Y^>-.M7J'H@V/V-/*/]::,580 ^B;WM MDR9(#&5%(+2X.5J@JAM7-KC>!A=3W6KM/">R,2:36='5LN%2B@GA EI;;!J[ M0H^^Y%A6P"CU(T-_?IIR#R[0'1M.GQ[W$"-T 9-H[.C?#KI;^Z&ZL(CC?.%X M6\-H&W%QQF>_?*$/E]$ M5K:K A:NEM/2&B(',,08.LUR+Q':]\Y0/3.Z)ONF!%C:;EKXJV.Y8MK*3^7:6W]J=';"[XOJR>)I[L7W;O<%) MHA0#R> WM4,0.%RU:NU[T&'5S(1"GA!]S)CDEKUP(F#MJ0#1 9)<:?ZS45S[ M0FG::8[50_E<]V%U)4!0B1(+8K6N'V'UEH,!$U^V-2X?8#;3;JI+M6D.)NV?FMU0/Q6@J22*!F@$C!H(R 9H!(PR:$G7GN7UE#N M%_(UDB06Q$Q\:.[7B[TM>@R)X?U9NVAO5RTCR'3G(5$'[@:W/^\A&2)-\2\Y M'$@Y$&8@?N(Q^(FW@@8?C2O$9ME8R1EVG5']H=L:UUH0-.)C()(ETQAQ5RS% M'QE6>6-B !'IJ5#=/#_\06V8D=]U[R1$(J'O:N;249/+KN;-C:ZZ>4;5GN_> M.O$WMDYGNP*6R7#P'E M##$T@DJ7PSKNKH2+#2F+UUL0 I@]!/ OELZX6[[I-^32LVI#EAM$?AQ[[!O@ MFBL4#X,\R)N+!;%.'U%P$2;3EH_J_Z(3&> 53@\H?6@7IY7ME.*[6"XR%1*+ M,[RP-,Y>,=08:0<2"Z*=DF%YO0LU7&_NU[N22,E%%K,4\+@3OK6&J %;&G)I MEGNI4NM]\$Z_,; ^(HD>V5*)D$JB9(#(I@_)A7\1]N:YP%2US:)L]\WEI!#N MV.RDUH)/"(_I*")-H\;-" ,0W70W1L^?@$ AQUB+7=!NVG.!-]7I1@$ MX+$;K-6*7][X28#I^QM[Z/KY[4EPA_[<0(I_>MXV$SF2"9(3HJ-ND_K^(L*N MFI/Q5*6UG9C++":A;&_[O@H0-BZ&3:99G$&4%**D$F&*(>#XZ+3X%Y%C()%T MD2\(1=D:JL7\5*M,:MLU1 Y8%SN-TX]4= C<0PJGAH\H*%14*!$R0D6%/IC" M@MK_/$#B)6C,+Q?M*5$D))'9V7YYYKL=EP9&%;D/,:>XEXJ&W!N8)$HMD Q0 M2:&/9[;>@PV#JMX:]LP%93/YJE 6!#%B=FN(#7$D.4U3#T]H[6L((?HJ63XF MLK?^C+Q"./OQM8?.X&HMK]3([7)0D-6P'N87>($635,AX_+91)KFN32%H_BJ M! #-YQ;+[\DL!"0W*$MT!DEDTA#R@KYCY&)YCE&EMM6EG35$$F:/)'P:YU^B MQ1-';KVF%D]%'@GJ-1W9_U'&,29A_'B/[-7=A27WZ=$4U29"&P') -4F2B+3 MD?/FTS\660U"3[/3J?]]^70];ZTLW8C/UH.IZAN!LICF M]-&*E"*1<9K.LFU$>7Z%A>P2,[C&8.F+B_5H;(*5N)H8WA5I\&%R(&Q9 MT.K3U0R;;TOV9D%14JTA?/F.?<7P,]$'OWR06JA^:@5O\NVMX1D'N?4#8F8V MQI.J+45AU*XU*;7W+[1/+*!"B<.KY0*/TL^+*]!1]H=%%7LQUW7G#,;4F MY:U?VS9_/OD/VS1OFGU;7_2(_G!ERHQ+\9I8DPBO"F:/8VD,B___ABVSET%* M?;K5?QYDZY2#(/J-X,;R?%!TVE454_%I/CS:]* R@4,";\W[)D;MP"Q_"2KL[_O3MT9 _ M22@3&%K&VF3V OE6BO]1=,];%<-2H,I5VRVHF1EO]'*ML]+]0X-S_Q.\#A ? MP _GIZ(/AX^^?$]EGE8&;5(D@T?@=B^JJ-MM>3/D"K8L6JYD,OF5OQ[5S40I MZMWRSK]W@6'8E.?>M?^[G\+[G3Y^Z'"[SKJEV$9^.6][G7(VTVC=J?/[IT(H MSP9];8-U,2"$H2UQLWJ?)EN?P_-])K,W.7[\DLIX3J:SDB4UQ$)7%N;YZGWZ M+^^=NC7-M)N#7L7 K HVS!N;F=&JFU^^$_2G"WV=M>UF;*61TL;-T MO:VYU@1; F(C^31-\6GL3 ^',_[> \A(^N&RGA74M-A>"<9PV1*WXI95!XM^ MV!\ U2+Q-(=S:8P_32=\[@:GU#!55WUMF@)_D()32E]5,O"QW8*A&HO:6L@C?N=,7CU*U3KY_[ M_@:@J%&;_*3.$@,;//BPU=G6HT;1A$#!0*"X?(&BY#!/7=]0@\C?'KFG^_-R MCC.(5_BPV/'3G35!6X3, 1LRR,J$'E#CELY*X008ZVR:);$T3Y[2+4_^\L,X M-^^36&G:SN>R:[PG+H>+Y3(WML(F:\82P^DT?Z9S_#.)G9CK:?BIY@6H>?*# M'<4D7"K)ZW #7Z7_NB^;^PQP_.Z56EUHBM7,$X:<:Z_4+5U==T>MED+%W6Q8 MC$Z3W&E%F;_N=_LG:K,C&22QGZ K@[G*;JI!:JI612(Z8!,9*/ MQ4C^T/8F4/:RF]NK^C/^X5RS4Z:L%8HA*\G;92^(PDHCQVK 3HK;T? XD::X MB">\J%XRC^"CTJ^;-;:1;$#&%T\QJ1)\I'9 MR[81JF"TGC)4WP7/<<%!50=.B>>3 ,F\,;$T MZUSSB!Q?B#+!@*K:'9RG5KXXE-HLP#?R4.2<(-/DV: WI )(!@_*(]VYG?-' M.# D*RH=T(T=-A];-8#%<>,9G$NS](L\ M/P(B!$0)$-M#M*6YQR/%"R+1B%\:^7)GV\?Z4K ;6QN/H;8MB$2PM2"59IC3 M&-^_?>*8' -PWU;0B*L5(F\/=6)&G9@?DCB+N?^IYP!I!_O2I&>@T-AB64RM M:*38R>5G@SS;&F)+8)31>Z*,Q6$B&HF(,@0;MS:X$&Q\D*'U)MPH;HT@:.G" M#&/TG5;5!X$YZJXA;NQ[_S%DFJ%?RI1Z &+M/VQ_1N*PE M0O>BL6/<#"5^$MO_?B /EH"YWQHA/Z*_LN#J;X)+)5=I5'HSIR#W'6X;^KJ@;@>CWAIB" ,Q!&>(-$>_%/09FUS_#E6PHA^?S@6YIRF/6KI?R%/F1RE$-37U(4#\ MH^MI9U]C\/L7*Q1VH0*FO$DJ!_$&[."GMYKZ_0U[^6?1GY.H&B.&0G,\CW$: MKTP86E,HW, 4?L*-%7P,/B>S'0,P>W>R9U=J9N5R+9_* M2>WF7J_W<^ETA:Y8%QO=CE20FF);Z):E1@?,$,/HA,TA)S7R8J,CPDDT.E*M MG >/GD_]F$%**J1^S"'U+_D(>OL3AH1,X[_CGY[C^:6>&Q8+W\C$I@4\4"J[ MJ7#J10%XU08I8Z,90&OBE.[8*5[L TWB>I7QAP#253#G\?=$S?NY0K_1$CWJ MFTXP+,&RBLY1K$)A-*ZHI$$JO,J..8H<4PQ&'/:J>GRG*XAHX3MBO(QLLOMGI=2' F.K( MXT:*T^CEX^::O"26N+ B8Y)&U^W:T,'Z6$OASHRT [?8D!=C42(]U@W;;B/'" J. MG0XMJ>5Z86Y32UF:!<0R4S,(P0=#\=.A.WS>)1S;U.7,AN/[-*;DELTUM#A/ MADK;%9WI#'JL6"TL'&.:,Z>& 8:>62>SQS5R ETNV_/LM$1'!38HB^ !S@A5 MQ]RI6W9J'3O",]OR8-+"IB4PE#D=.EMM[7RY5*/%J)M;V+R;JTUJIH*?$2ME M$6MOE*G7Y"7KCQ96 >^VG'CHR4[Q*_QFT*1'"\S8!JZ[=2>[W28>>K)5QCJF M%VUVEL4(H3RT#*ZNCG'PK/SI VQZ=755%C1#M)JSZJI"5;W5J@5L^-.A3J/I M&V+!J]DYCIT.IPM:L?DU''KRK+F*&PC*5EG95KOJE*KJ6E7(^*HGSTIYZWE0 MS39S(I.UBX/)TEC5Y^"J9_9 @UB(VQ&VL#%I'%2$W2"JZS4!#CUY '9DE!8K M>4.+?1[3,FL;Z,XV'GKR *187-C4>+*V^R3#\=I4T1LE4R'.;)?)0-AEE[.P M)*IM3\SU^@4\\,#0,]NE7FOFB U),Z*TJF0=(K*-7@5(X(<2QH[%D\6Z=R6! MM>JHB\#X=OSF.6!# ^\ S="LT?;FT,_FY#-7\V!+GIKOH7^\ZQ'H]U#^1F:9 M^$H3+QU$/3/$GEW? ]><.-[Z^&8X_AR_#K_MC>\U$,*K1N_!+8EO?!RJCH'/ M$X7&1QN[OR=F\'<0,S^D,6AE MT,J\;V6HKSR"LVLNS7NC,%ZSE3_#T>%K5NF]%\H#KAK\\/]]H;^\94^0]%?Z MMD%LKQT=OI/?_/*]._4-(U4'OY@&*='5#7U?PO/__H$SV'](/+W_YHF[1*J$ M5.EE52)>4Z7?2HB)K9-'TBX8DO.SZES-=+LO';K,;DEVB/V?[!;R$D";M,C1 MAA&F M4Q+I%JO8=1%.-U%AV2MO 7">&B$S&OVX5GY2-?A==1<.40X]GUG@5\ M5CM-46N1/"E&>=LH+Q1IV3?_3NF)E>%&1L'WYC!F \ZA;X737!2 53)\<:,Y M$92V$ 0&^$_?IQ_^&K]57LXW96J^PFQU2&.X&36+U6Y+B4O2X&F"Y=(L?IH! M_;!ZL+>A3[\^[(0OHOA[1B0!4TN.[I//=9]4V/IJ/2I:9A:S+*:H9B)BTI5N MK?O!EINPS7F^BN7L:C0J:(W5W#.5N P-T'V&3A/D:4.$!#N7KV_WG!>$,,KM MLD8.LFA0ON ;;*/D.D /;2A!G9G. MD*OSNCS$6T.VX\'X+V /<3R>IIDK6D.?7$<0CKS9U$)0T&06OC>Q+I$ MPRS$+R7&S;P'L2 ']2-MKEC7F[&JGT'&?E5L5JM.D<7Z<[$^Q?UH9I<%)2[O M0G)L&J>O4@49J082"V*UDFM=O0P:&4;K[#BYR]G 0Y-,IL+4*Q3,MX%M;5DL M3>"7K.QR\T"(7XRG%[3AY'SRD+'ZE*KPR%$3;X6,$R%](+0BH;PC&/QSB@3M M$R24RT0?W[-4'H#S^ ^L(.* 68Z91JNX:O.OK6ZJL\MUPI"/X[I3AF;!2PE MDOJ41,@M\219-;+O4H[GO2+$2=^&:CG 37$/-H*K"S\AC;@'FG-5=J,HRS2D M817;.:AQ.SRUF*"#"0 MFWECCB;A>'A=@^U)LW_TASG7))"2M]IF12S$CE'-6KENLSTH" H7MT# J32- MO12:^:C:@!#A<8FGA(/"=8VDMX$"4XR6,ZNWM#!5F.YR'[8P421;[=,EO]3!^_9+S!DR G))9[5+);A/[< M4,_NC2J!]$C<(]R*C:74OPZG:7^E4ZX1?GM\I@2Y01\8-OS))8!V 9+!'02> M?+(XDU_\X#(L8&,$X3&NY%-ZKLB&1ODU']M>_F,/#HY*_OL3TW67ZQBU^K9F MS^T<71HYQ6S-C%L]P)@.+LWR+_:01TJ!L.)1W>LDPL5UCQ1>AXMVAJU-S;7/ MBM7YAF@VU)$7"3%<,#%<8"3_$ES<&VWP:X0%I!!BQN 3Q%:@"@Y)D1$JWW"[ MR NH\0W/]7X^;/T]0.I,921-V=I8WN;9%LX4MYT%;L8=6 % XFF"NV*(["?7 M$X0EJ!I,L@VL=\/)J$9/)491R[:15=0-55K4%T(,)W'%/?[1"\(\G=L<6*K8 M^$)4%4HI2);8[CY]X/ZIKI=0%?9' "0HJB?F@US.SJC,X\\!\VEY,J;$!A&P<0W-"=8,*+:,PA'L)R$FX/WOM\\5CZL&QL+SE M1D"ZA]P$SPVRL6[OQW6A9HN;T%?!>\ER57];#HUY ( 3SL#WXJ3/XQG$&; T M V-65NND+F=PHTIUG4$[VK1@5WB8X80Q:?[,8272(B2#NPEH2CB87/OT\2/! MQ%"+&RTK= $,YH1-D6A(#6Z\AF 2GV22:?(*U0&3Y?*]/3,*)4(E"(40>9", M<+)[$ K:*T@LR8ZR2GH,]TW/OLI/E,C%P[0?8DE1K "*.WJ<(ZPGQ^9 '&<- MUSA?V=RL4073PHHZEG%;QK;6-(>4:"HX YD0FDHS^&F=J\L=7'URM4#0\8!A M1O=__O1V]%ADJQF=*V-3F?!7:V,WHL1)N(;HP7SY3K%IBGHQY^,>J(_WG4/! M)N;[TR=$6]SX<)\$(*%[T=@Q;H82/XGMBFW.$S?QY!#-5PX5,L(7:V;U&!VG M"&^NB5O&9J-&;<"4IRT%W]5P[S M>04\2N2$GW9G]LZN#J6!Q]G-1HN.P0.>*Y%TFF-?:E67.)+J(0Z1$(!^>AD\ M2B42M N0#!(>Q9+T(YU$41'P'N.?[O&\>.%S;B*U,'Q@^,SGP&0*IJIO?/OO MO\>?,]#B1$[HV!A%7B1+*&BO(+&@R(N$.K7O.Q[(JH&E/;XO>LN7ZOTS=?<< M&)ZW5I9NQ(1;;%@&RF*:TT.LNA'=F2..@O<]BDVJ[$J@S#%+[>?>.:]QDA>A'$034UX&N#R9K7?E=0N@'+XW6-C3 M>IIWNM<1!-S>K$G U!*& A]JZ?P>!1K#VBPC%5S6[NNVD"$?N00:/ M;FY$\['A2Y.8O ND'];S[XXL>UY;9X1:H2H:1KF5M_JVSK)QXAWD_H?B1%>H4A*(EXLV 91HJE^1AU0I37$"";& M")K&T@Q]><(_40P&"FY SE1"K*D$Z$6BP/,6!M9!_T\P] Q\>ZI8) ML1A4'2LBN?%P;4)XV5MG+$ZFB3--CG^QSOX=JF/'N-5&_P-FYNH[3S-@+?;C MD\/(CQ3VT][[C;[B^]]V#"/E>B%XFM!+>9$/=J8:Z18\Y *[38<%S^+OX@)S M*OQX8KFJJUFJ ZX)/IB#^P>'&7^-IZS&:ZYHY(11QQ-,&:L37J$H2E5X76<4 M@N-5;*SQ$YTBP-/]6[W4:IXLT1\NKPNUPGDSF.G6ZOM_P9?CI33'4'V(8M-C ME,VQF R\[P'#,.R?5\3K]VP/^MDLXJ__\WPR/U VHWF.YW\[EL%Y-LO#G8D8 M=DTC,_8-U'DFV\X #57!KSZ3]>-%RKT%M\( M_"OTG>;@Q\/$*/PK2W_4TOWBRC$_U%A-37T(_/_H>MI9K8;?'S?OF?W\Y7L7 M8F?*FZ1@#XAG:AOKX.M[^6?1GY/H1^GQ;_?W7E1=J9F5R[5\*B>UF\\Q*>?- M%[XQ!: &'EC9EQOZ8 AZY=%S4B,O-CHB?/9&1ZJ5\T(7_-#I@G_J8J/;24D% M\*MZLRV6P+AR3TR5&^!G,?4O^0C*]X;WQ&'-Z)!$HRJ@_<@> 52"L6HF*(:^EC!649G M-)W@:)X];$?U:#?5!P4GF)-!3LZ-9#[KUK/$1&A!H^_7D6/9J)NE:J2(VS9; MXAA?:RX[P($[,[+,1UZ[ZTC8LL7N1JNMPI6+P!93J%]'ZJM 6(Y#AI,[-I55 MJ=IVHA(M8&9BOXY4&-8FE-:B8"_M2K.\F6E+8P9'GMQ=,3POJNS<+M;IJI@^ M+%=+M+$&(T_N[NUL5YKWPZ'(-+N,O0AG6F4B*-3IW;>VL9AG99? 5+(W;^;K M5G7A"0I].M+LNI/>2-RV9(F=^<*.]?3QU%28TY&ZP/$KGZJ-Y(YGR#9-R8RR M;(&1)S-B:NIL.- FOE@,AQ8UZ#66;5P (X\SBHW6IU?JOL(<>)TZZB(POAV_ M>;Y3X1OHL"^J@2QY]C!?^VMP[60 BOOI4/=E-\X^-0=0PL4>!T?/3;^ 5# M^AV.[P\KZ^]S SQ:F42N#/V5>/&P#"T-4AJT,FAE[F1E )RAI;GFTKSWU/DU MH^R^S@" ]0L__']?Z"]OF3W)?"681#? >*<3_.5[=^H;1JH.?C$-4J*K&WJJ MKOK:]/_^@3/8?T@\O?_FY[P"M&GB34.\MFE^"VOL5_RVW68NOH_@J?+EDD]> MQ/S/N%OXA]LMY"4@)0''L#]-^M(M9_CD3?$RI4MB+S4!4TM.?X/;-D=I>/QF M-9DI-8SANB-Q4-TVV:T GH>X=F^4#]_B]Q!D\M":GXRI)4?S;]O9Q*TWQQ99 M#$IRT5TMU_V=T2$W\$"$OD9CDZM[ J]O8RF<[BNN_SB,3?W+ <+YZ_#J_H9L MV N%X;["15\__N1,/\B;2P7M#"2#MU";]ZP=#^#-_9++4O!\,,Q-:9'O&ZZV M386^Z@9._")/J?HL"D(8BWA-XP\U)_XSGS+!Q,GC=3N/K:N?(MWVUN=!?W(' M]>E"[=G/3W#U[@]=*JJ6"RU5P0>;QC7!PX.O32!73P>6K#3IJAM@Q((K@>18%DR%AGXLE<;XTT+A%VJ@CMQ8A&27M0R2);=/ M[4-_#*C]BF75(1.5U[A,R49[*4Q;74)05C"L$'KF:98F'\LO_TF^%V?1D]98 M]VJ<>M(FFAR,N*[A7M!M;T,(DZFU]N1EVZ#53-M6)1R&]T*^G>+2!'>M M"N'(\?Y$@)#$B28'$*YK-+P/$";#3-.R+;^,S8LYQ\1Y+-=Q(2#$-#R;9HA7 M7_>7S4Z]33XC>O;'?O;WI#>=S2*\3,;PUS/Y42J/,:RF,PK+3C2%PE5&X0U= M54@&'[,,1=&:IB^-I?P^5T8Q@S**449Q4C**SU;5O%A"\8^\7*F0$SJE M0DWJ=Q0:YS".N112760&;\LK!C-(Q5.X?#;QQ0,8KYHE_.$%7#\:MJ\VD6.J MLSZFQAIXBZL38@)>Y0RCC#7,4 R6G_ L25$07;&&-'M:/W^ M0N:;/DQU)GX=V2.W2XUL$YB\%=?#79 )9[T!3& ^&;GLF(51@,]I,>.'O7"> M[5&]K@!&TK^.K'5H8CMBS"76*5AJ:;?LM'!U?2[5V2+%9;]5ZO9$9MK.%EZ0ZE-U Q.83YZS[U1V&2\^0YBYXE-A<6)6+,>EGK4:,MSVCK%/1V[JH@#V!Z7*3-#LE-QQHVRZ:P7'3H>& M]<#9&:;.BQ:ECIB^QO7\ AB*GYE]CE]QO)BA[:)*@MP0 M-Y&%21N9*.JB+);S8.B9E0J[A;!"C%E,)IQ.T,&P7IAUP0.<6:HF3V.+1E6N M8!G6-EE]8*_4(KCJF;5J%=FF:QO'&U,U]STYTX M[W1Z"C'(K3Q>4/ SJV4-G+ \LXHYN[^H]+OZ3&FU)1-V#ST9.EC7[0:OY*L8 M(ZZ:N4T1()$,AIY9@@6S[I"5O.F*G4Y0GQ<+1%/>M13BS!)XS0Q-E2.B;EMB M*:N52UAOR,5U/D^&+O.!BE-1UL88$G-]2_*L92$N.G6J K-\@]@-FWV;D&>S M=M86#;L/@.+,$KCE0FDXR^QR=BY3DVN#*)C@/7#5,W(U38O%FLPXCQGSLLY% M,XHIPZ)Z9^2:W_5*'EXE:&S.3B;]5GDZH?HMA3PCU\#'-R-U5AW;R]JLF,67 M'LD"+2#/:,%JN9#RCBEB&#"BQ2Z#A6M"-!7RS!+T6L1$VD[P#E;M9POJSJ*+ M!14,/;,$_J [Q4-Y,I.9;J7""5PS@RM@Z)DE<+?23"HJSABS,*^<\U0&JS7! MLYY9@GFG;C>#TK9I2XL^U]ZT@DDF ZYZ9@D*,WRFV5B-$:NCP;RV+9F!1PEP MZ FR#EUUY0?XN"=:*VK�:3T&NTX- 3:!W.^#HQ5*:N/2]PDRT7+KHV"9[U MS,(N"WV+Z.;7E"A-FA6#TC=X=@N>]FAH(M_;PTCRQFRN$"''KR MK#7/C K;?HO#(J:VUKB\2>6"^*HGS[I1AEW--8L]<3ELJ=66%EG].GBU_-@N M=UIT@F6^,JCH1")S@;&O&(-6)HDK@W\E49)V(E>&_THA-$ODRN!?&0JM3#)7 MAGRQ20]:&81F#[HR[XP:>]58OG&S@3]E$:]KI]Y7!X:W5TCYG3P(\L^5H#FC]L1E 9\7P]DGGU&":*@!#.$@U?6]EP=?8>)OZEPPCJ"SWKY2T,&"\ MI&NF! V8P\#@-8)+-1C? WD2,J;^7!4_*%J9O*/4LMM9!GO?$,GI;2^\! #5 MW\'KO7U]^O5B1@%Y1]T&/Y?._2X:P,.%5X5]4-,F=%^8%O[H3!ZB42BUZC8:\^L8?.(P2V^,0*?U.L:RJT M=HPIL[X<17IG8N 8+>Q@2!]YY3)]=^8E?Y2"OWA0A!3\3A7\NGF!+RJX/\I+ M)6N[KMAS.:IFW*&8F490P9DK5.-+*&LA/%53BI.\? .LE68Y1LI]LG'@Y_ G M#7(8BV?LA??$6:C/.8O/S%?<@9%TEW+]A,[7/3JIMR \'F.')8<&N3?)W9]N M7K&XX\W9D:<$89R+;Y@W%L"FL ZE&UT]I5P-.5'X4P6JW))W4W8F9.O0-A@ &P0:1Q[ MO,I""<$,(]H MQ;T98 BCLIG,&LY2+C;TQ6BQ*.\VA@ !MIM:9RD+VZV)<=&^QQY(;MX*COFRTD2( MT0 _5P&9RGF&/ME5L#GFU*3*!B<*$UC<"]IFS&E#/%D=XH1#V5A MO0H7OVWY%.ICGA7*5"C.EZ[(3\U SJIK@!LP9(J[O,&5 +/[]S;8TDS#$MI2\7QTRPW$SMUI" Y5>!+<<2+YU=()8-L6P)$10"F0^V =\) M,B2?M>CQJIFSJ\V!:JUZ8H&8K '(,*^!S+TS;7&^?@#7%\@V-5;UO9UG;" U M^9D2 !'5=GNI?':_^.KI@'M5+WA^WHO&X21R!$T#[Z.SF+C-5IN9]2Y=ZBSWXVK"QW!13(\[V MR\I';.C[8$GRWOI<- C=;QC8P!]7Y.+4[)5;^4#RNB9L& 2L,2+-8P1BPFYN MH"%!(71)FAGW)G2IBMO%,#]<2K:Q9BNLHV<:NW$+HDMLO#'42^AR[Q18WI@8 MOA]7JMP7A% W1I"&12$0_87HK\_LS]Y_Z%C9U7Q##8R\L?^W[!ZUO1PK>Q?J M^AE M N=7;/6C[*8VM@-HTQ,!%$*&N*]/C14/9C2]#39^ M&TF&9QKT,%_ 2W*F;0FAP'?I7LN$^,' $%3RA2[E07MQURZE0&%:D5 &\"3&'@:UOTQA_BCF/PX U?6.A6OHQ.6Y_?.6%4\-/:9'O M P&B"E6("4.^[:.%9_\*E@<<.(8$B'LX$%Q=@EBPKS/S$HJNBM-%+SM:=.U, MN:I6I!WM![F6@L>5W-DT3:'.>X@M0XCRB1^35CN#0W&/# M2\"J:SH+;(LUB2%.@E,-7:?=L?0I[B*.#;$L25/4 AK;GLD^@:L M&V?7@*3\R/@I'ASQ:(A' M0U[OP_)H!XVO_5#X,ZBX#F92LR?*N"U)O4)4R&:=41^XMG$Q=YQ)XR^VL4=L M&6++/A]N/*@A=0H6O[6E@FUVT"A.2WUY3M&D)I5M/8S6$#7B[CDD^:+?]DB$ MV"$%+R82+QNWC[RN/Z?"QIZO&WYF__??\,4F%7B.I:?^@<7_0X)\J_MZ0T$F M$96O:\+%("(M#'A/UQ3 #%8Q$N?48%IPO#5X_-"8@^WS$C2;IC(NE@2>P2*9 M:14HG./QJJ#@^XKNW&EJ-"+4DD"H(<3Z?(CU4*>N[P&O7S&+R73'KCKJN6)_ MRW87J_EF5'77$+,@-9FZ6V:$(DC^(TA&^'L3XQ' "(3:Y@%$LELY@.5TSB#R&0#N-*7(EIK]%48X M-<9U.THGWS;!<\8L(,NE6?:*#;>1(ITU$A'\(/BY&_/O;\%/>;88]*2=%\D& MJPY6HUG-:&\%"#\POH[ATQSV4LSNVRW W^V=FU",?Z\VRFTLHT>@)F]J4]ZU MY!XVE.9509TA&V\M)\2YH2 VI'F?J&(8O,?XIWL\?XE]^0[MKQ2DVH)4\QF5 M]"]HB:4L]Z\4S$(-8E+IAS7V[;__'E_.,+@CC;JE%?"8^I3< (^[1&/$C20S M1 HIT,=NE0>,%FI&OC9588D#;P*/?19@/MNXW(&QC*P%/"5#OGH"PHB0H&[O M('R^,*"FNH4($'0]00-PX!O- T(T'=4-!5<7CR!QADK-=;O>8+FT2W8TX^84 MGY%7TZ*@$&1\DL.G.>Z424410(B-2)Z@$-A\2!OBOP,V9H.P-$'363FB\$YY M:3G:+(S!!I[;T&GZ05/J#F9<++' BA<=&'+C* !_&P2' N[PHSBN1]T+5O^, M+,LG(562*)5/F3;SP999]DGE&T8H32 #>_B-?@8NV8 ?3+:U?$\D!N*2QS < MVQ77"K$OY$ZD4>.[S\4D)5$JGQ(U/MC$>A]J9+K6L(2/R+R];*X- J^,Z&PF M1@U@9%%TFJ/H3Y9L!TQ4\$AZD)KXWCP5 'E!6^O"M4&1AX;2[V[NZJ)HQAL9 M>@>$*0" Z0!\D2;@$SV"I^;&4[G 7X':R\Y5TN@%ALR4%L.*9YO2K&,JQ+YB M?)K!N.N%4".T0JEW"*T2BU97-C#_!*VPW:0M&%LJ:Q=EJCTL.^HN3[<@6L5F MY:E-^0"\W:\9=]$^,@K\=PR,^MS9=BBY+K%2N[OLEOMG^WZ3TO(41?E32LMO MZS'TC8$V6R_:5;O?ZF[H;2-7LB6 LW$U>@I+T_@U2S(@-4*I=0A\[M"FNPSX M>,ZP:%B^)-O54.\:/$/-V+P)P0<8>0R6YL]4]_LC[A EUB'2$07K)4I0#Y#- MP7)55T.Y>"A*+ E60F*-<91I MA^*C$B65!]*7._7NWQDLU#86^_@K&"/D>*Z9 7MJGM*-,SWY)CK'75#;CRV@JG4\/1XXH(L'%S"NP!8[YPO*T!;A,728#U$M9@$WRF M.)WCG7/@C\:^!>Y4,IR5 :<*[ZJZ0>;L B!ZY7'=Q23BZ\L! MT.A#Q/ <*-F"YW>FJF]DU<#0<]X&KUE!G) 7A)YFI[P%G/8GS\N[ \LM6?D<=XS5R1)D MPA-C/C"-#Z*1M >C(TJ=2[>>$U-KU9U;LIWQIOE&KU'UF&P+/F&S!ZE,TSCNF M\4V>8JH>(8TO46B!DO90WLQ=F'R_R9MY"K=\6]Y,9ENAJM:L"DO7<2C>4Y>.XXIL_8:%/5-8T46&DCM?\^@"?&T#9\*-HQ M4?""6$/DB#^0W2A.)H862A/Q@"9M ":2"]$<_A\6P5X!F(Y/C8+0M[30T..Z MC:[^\P?/1KZ$\>RZ5])&0:MLS^NR(X\%;D.IP,",R_3S!($B"A-@<"9*)>]2 MD C;DF"6?C"V2:*U&E.[BF43W+I"X^5E>Z>L(;8!^Y5^T7%^!$K2V/\+?G8BN$+/ M$7J/VN=://%S8]&QO;P\7^5[6A;SEF,!X"NU3TC!T@1U2A @I"C MXIM#T(8?-0ON=,N(D9*C)(K;5;>[%H0@F+A"IEGL\@?/B:(CCR4^SMEVJ4PJ M:X!Q+CR)A@T^8X$C)O(S,9&OP=,YS/Z_?^ ,]A_D=7\$7@N!(DT4G'A"Z '? MVDAAL,A@#!?(@BGWFNW"C1#Z#.!V5E&+)>:M##9GE:G;6([FOB$H9-Q;@*.X M-,V\5+$;48:?D3)$('17($0HM8FQ%&OA>(D5G19K!?WQ2%&2 T)A4*HTAXT5 M+R[I4G4M9*WE4%I#$ )6'T%A:8QYI'C#5VP\$7Q\>>L.F7*_QJR0 "%T+QH[ M1A(@XAQF_N^5HG62-?.;@.,/%J\^G>K-^7CM8)T.G<,6+7&]&YB)P<9<6S*J M-NN)V)SNVJ6-:#4*KJF0<9E_GN'2W(LN,2+EKAXQF"QM0CAR$QPA%68R6A<4 MG:=LHCZ0/+4[L =,*S$X4M,$G5]LS:5L#$;;HCWM %1I01P!-A9)DFF6?:F- MW)T&_[UFFOP:_?<"ONS_*.,8DS!^O$]6O3]I,)R0HG^)$LL#%/O^9(7X$R:6 MI-2[2Y18/IE6W2&;\F+%_$ZT6#@&+,RB.BG="C3'"R(_+B0"3)U](-6C5,I/ ME-[<*(8J43*X457O>WC]?NZ-<:/HGD3)X)&5XT[]Y74N->T"EO M'*K@;^.2"4_)2DB1SL>\%+!^TON\=(OX+G2T>MCY&B=M#Y[;DS8#HKDL8@ M4[0EIV6UHN5&H9HMA=Q7PR?3+,FB.)2;&RS)4B\$)0\2=WQ9*'$7F4Q+W6RV MHAKP]C003$$JF!!*8)T#+DVP^$><="3'3!,TS8_ JL3&V,*'IA@L<^_J<>3) M G(CB/- G,>]N'4)A\IK9XDMK%!UQ,W"<'4KC'PC*+M:Y/N&GHW"AA<.C;"I M6N>*^DDAV=A&6)F4K;9F]ZH2WZ-R+86*J]*3V!7MJ\^M$(CK0:!P[;RM/P8% M=58UK3;9'\K;LC0MY(KUA;T6("@ 8XDC7PK^CRVE?X?JV#$2YA7QBS]O&_W1 M$\&)9P;;?E8=PTBY7@AN&'HI+_+!9E0CL*Z&#O<8>/)@_UT'CP0=R&X.LUI_/[57@KG.C6ZOM_P9?CWVF.H?H01Z;'4)MCE!F\R0%),>R? MMW#!SZP1^VP6\=?_>3Z9'[YC1O,2;! _;N8YD. M?W;\S-^+X_"A%UA0Z;_YL*6%M3+@U7^Z;KQ0H;?X1H W/9C)'/QXF!B%?V7I MCUJZ7YP?YFF=_JNFICY$Y']T/>TL8,#O <(!J'5^ HW#1[!Y&(QP]":I' 3X MN,C&81^K;]G+/XO^G$35&(P5C,,,9DQS"FM@AD(1&J_P+/C"$HQJ<"R'"-_Y5=E/AU(L"8'X%\%#) '\7P"XZ*?#B4_]Z M"M=(P#Q.D.7Y5'Y^I6%O-[L/V, 3%#VF5%ZA.(U0J+&N*1PU,10,4R<4/2$- MCL(.&U1]Z@+9TZN=SFADRE5E[?4JU; FA&MHD9*_#I4IWN\T-E%&7DX[O>FL MES.KA*D0"O[KR,TVW[6IJ;\2JR[P([>E:;:_;8&1U*\CMX4UW>5-KR8ON8IO M9J?FJ"<+8"3[ZT@F.^NH"W&PL"VUY[JLVE*%57SWDP?=5HQ13V',"M8G66&] MF$G91DX EO7)@]K3DKSI58FVG!GI%3<<8-R0@2-/'K3O4QI?[9<*8L1O['K- MG$^6O E&GCQHD5AOK*$_ZMK%;;]:]YH*42+6\.XGPE^K9'6R$WJ.:)2[_:R< M\2F;:<&A)W.2#+%5GEH-RXZ([%*+*LIX.%PKU.F"ZD^V:SU3E%<8TZB/^E(D8AL=7O-$4 3.+K22U5A@5K%+3/QA.=-=P)$G M@HIZWJJ%%;VZ2/0#6>+"ZEE38;CT%H38+XRP29>M93N>J3"G@JK4 MJX6QL*H.L [M^_."8MNA#T<2)^K,UME)LUYK8/-5KK/T:UB6W0E@)/WKR+*G MUM7)-,N)2S(_F93*3J_478.1W,GL6\*B)$^W6;FX#F5.KSJEK 'OCI](?[A8 MS*<+3?;LY98:29,PMUA$@L*>3DFT=WDF,Y]F92+?8BEL% 6E&1QY,B4M"$5OU;&G16Q(LU0(C3Z:T-1<[LD=PHMUI<:$K=IJ-66<-1N(G&TKUZB&= MHX6Q+'5[8]E?#+2>#V]_.B_/B/8$WOUT3C9?RU9\BNC*RQK15U=1,U_"6W#HR9RDG3ZKTBR)89L*_,IRP<>;). W*"+R.JD\'Z2M,' M+]=?>J#(/S7K!!"-/Y^1G^B69?M!CV1!3L*QTXGU1AEU.5R-:N+&=Q>2WEI M9N+=%AQZ,BL5'[#\L)=E9&LEJ1E5XU2E%@\]6=3"L.FJ_+I9D?M$=UM<"NJR M;ZWAT--Y5;($-^J..AE9JA3)35"K#XK4?NS)Q,+N<+P>]#U-C,A10>#$3FG4 M!(^ GTZ,,O"LV5483=P&KIDMMG5"KJSAT).)>1ERE\GVAWULWIKK7*'9;D?- M>.C)Q"QZ5I^T2X4N9BG=]9H>1&05@#\8>K*TP*LQ>YM=-+:WI!XM"M)2L/H" M''HJ [[$]!KY[M;794GLJYPEKA@P5>JOMK M./3DJFMNK@T;9WCJ9];S0I%BA'U_U1+"Y$N<)6=:7 ;"1ML"3/N]()AQZ M\K*H%)OK&N,M9*S/N[W!M+"IYK!6_ G#UO%71%K#@P;Z^1I*5V4<9/I^;U%T>Z(4A0&Q6!@.ON)'=\7,2'W1$3L$_8TSW'416!\.W[SW/*% M?OO!Z(7>JK;W*X)25"?WC78\F]-XP?EL@.8E]Q5X\.WOF7S^[ MO@>N.7&\]=&(/OZ<@>3SMSVGL@9">)7+>&::/PU5QX'G1*'QT1S&[YE-_!V$ M_0]NZN\?8-!H99*X,OQ7C$ KD\25 3J#5@:M#%J9=ZP,]Y5_\9 8K0S2&;0R M:&7N8V40FB5U99#.H)5!*X/0[#%6!NE,@E<&Z4PR5P;[2N-H:1*Y-$AIT,J@ ME7FG<<:]F&&"5N9OKLP[BV*]>I9Y0S&PBS_/C;CN,>*-A?)!>5 O']A]!AF\ MYK @&7P.&;Q&*7P&&:!]@&2 = 'M R0#I N/NP\TSX$?_K\OQ)<_E0?^E;NN M\\">D\=K^8\OY:X)FA;-(P?F9U^HJO!K!,Q];0HD@VO1/7127YQ)F*#$->MTW;Q#=*%G<0C?XNV"-HBOS.VP//!>$;4\,- MK)6!'#CDP"$'#CEP-W3@#O6Y#A'T^&*3BHNZIX[UPN\)6_\5X^E+(_[WY2X+ M>6MEZ4;<8R&N\1LHBVE.'ZU(*1(9I^DLVT:4=R?"SZT6A$"1)L]Z*S"3T;J@ MZ#QE$_6!Y*G=@3U@6L][*Y0;A?,$!;Z$.] M]$?:0O^J>4'P5ZKL:MX<>?$?"$7$8^TC<1D!^?V\@?[,T_W89L%G!?'V:6=5 M1W4U(P6LP;RA&?.QX:=(//U__\ 9[#_ AR(NIU)T\D1SF0[1,(TW 3-[J<,A M\96@K]KD<.]YX\3!]2:4@\NL=(Y-Z/8*!DE7SX6=LX2-%3R->N98U^--J+AL MO2"S6VIISY<=8C[2R<9B)/QQ6\3XTE.PYPT_V#_)F0:(N86XRX68OK;[*X8, MQE1EI11@ Q#BRW>2)Z_3%)7\\-US!W3I+<3R,7"QSVA+P,Q>@ N(#_]*%D < MX[YC/=ZCQ0$HRGR&$IH:KLCJ+C.RPVZ);'"MRP(%$!*XS!G$:$^DI3T@;%KL MDZMQ-2S6IZ0 $8/^\IWAB33+\R>H\=>=Z@>"#00;]VUE_,@,@ $D9?= 8!TM MCE*^,L%-L855^R73RW='5E. M8],DN1HHVU6?][ M_4VX@1NS>5^Q.0WW4!$SMOCR69S4?XARAG\+-]G3U 4#ZM,1I],0MRQF6WG6CKC$BH@M3 M';_U8+:AW6]B]7K9)D9UFPYFTYFPBY&$^O*=P-,\@5W+@_EPA4$XLA\2% +Z^A1M&F+)BU$VA^J7W4;_T MJ;>?RH I2Y_BBU MZ-!^3\Q:(QF@_?Z9UAK)X#[V^X6]D7SDJ_ Z"JX<,B:ZWK/TB8O0H[WE",LN MUP72SF48?VF%MALJ?\YN #M^3Y[ N+\SO@WIF8NII2I-L6A5JV94RJX^R&=OMM ;[QV+>\\1XCR#G. MOWSA>$&\1+=:>CR'>C]G<8]7\YC1#L"B>6!8V^0HB!%08J2../R MDA&O62=J+EK9=@7K+.>;FJ!F\N3RSPU509]%00B?*>AZO[ES;*?%9EKNF976 M-L D K M.H:_LC183,/R]+:A>:8;7R4NL7'&]FW.5J.1DBLYLM3.[51R:W@< M*R@LC)\ET\#X12%P"-40JJ'7?Y)V! I]N]] TZN2J6A+(+&@4,IDLK W,&XI MK2=,5ME9'=N6<[MRO=4(1HL6,&XAL?N:=7N'(9KE((CB8A3>Y*U[Y5 ;L!\0 M,[,QGE1M*>*J1J];:51JZPMOE_>5"HP#<>&,#!W<&0ARO^SQ%@G:1A#ZEA8: M>CQ,6(.Y%/WG]/[SZH&:/_8:UG0[L:5NC\\VYLWISC6_?.?I-(83)WL@Y3]= M/17+)Z7"ZP= AKKAIQS/-3.AX<]31NPYPJA8L*NME9%:..KE"///#='W$!R; M9.+BM"!(M[_->YUJKV1O&]FLTQ&"0I']F^FYI_H98_'KZOFL9D@H4O)BGNO) MF6RFTNN6F%;;-Q4.U@PYU4T4:()D\(G"U5!X)MKO:+^CM48R0/L=K36*(T2! MLVBQD0Q0X.S'4+:7*-W9 MHMQ;?_E.$FF:ITZ)V+U(4FMX/\/14Z&76JC;5*ANP*= DL9\X7A; RS,D8O= M,[4H:!D%+:-@#!2U='/O,]F*\I\K%/VZZ"'&[XL6<]VEM.UFF#%FF171&8W$ M8+O]\\.,9X?3;2,N.=;UWONB^V'O5+KV5%>FY-:6!'],^2NCWQ1,A8^+&J=) M^FH%P9 B(K$\$#ZA%SE2E)N+!2D*VA$HJ!*%'Z,M@<3RB<*/;^ ;7B_@^ (^ MW2:/$<.EYU*R5;"<"=M=6=A #X=Y+!?=>KN,)CX_EGKEP*(XU]*"_@X@;@Q M?,T"6^ L9]V:36V#H.TL9A3Z3:(TRX7ZIO7E.\&E.>ITT8^_LXH5OC3Q JC2 \4V80BF]!:(QD\YGY/\C'*AQ:Q>"EHY&6K MZX>Q[1N9SC1?,Q=R9Q>0U8$\7+;:IH)CL"P%GL8(#B6&(+CYS'"#7J\HCA(% M#J/%1C) @*DZ%Y:I;PB1FVYA1UH!WVVL%![*@ M(-?$TN25#AQ1>"P"NFM'%2.7PAO(/F= M,"WY23[_>SFR.F'3O"D8"($B32Y88K?98+T"8<\R=E07U>'2'LU7B[]98A?F M*AA^L'^2,UC!N%T!K],\@?5KE=[8M19>8=%2< (6T"7Y*S;P^=ROVX.7FC!U MNCAJ''B*A$WS@Q.7_AY._+Z*Q=K5B9F_'E>PN3#SF?J\O_&LOWGL_BM> !F! MRYRKRN72?EG'UG4QLVOS)5[,K_G"&@('+%/!\VF/(KC,SD$9$CZF3;9LRY;F5,>>/F!0@C MW)?O'(^G:?*E[MD(11"*(!3Y8!1I&Z$*IJ.+JN\".04'^!@P9K^TJ6NA6*T1 MQJ8WJ4Q:])^3L6^"CVVY:L\GT^+,-K1R)/O=>K6@FQ ^1X")2P>=Z5&_/V0YU.WN17W9DYE(W)HELP%3.L%%H?Y-:4^K7U M1&YR55FMUVI\!<& -^5?W&*!-D2(RJVDR.;'%5S^OXO;TM 0N-IS&& M3N/4:9WI7XY._AVJ8\>XFL(^6R;8-]#P7U#A-RKM_3RI&J^5HI/$F"<,7C'P MR5BAQN [E=<912,)9C*F.(XE,'"#?ZO'OX"'8M/6B _#4ELN!MF@-.1*I9RR MAN=XY*]#N4TC9!6WTK7G:D,;,/7=B'5,!>R#7T>*:ZK0F8E302P2!(,7/65= M&<&1U*\CL3"[&E;SLYQ-,,/J@JG@_K@F@)'LR=T;33*SL4S?+@H3.2_-R#56 M6\.[GSRH6)^UF]YHNK(S]>&"FQ:9G-42@!J=/"B]"Y2N8/(:MNQ4!A:U*8HR MV0(C3QZT(PUS9&=0&(M+PIIFZ&['9GEBC#>IC9HKJ4W4 MX[N?")_2S?FVF2WEL.6,6 L^34WT^**G%47LZ+0D',*=4>9<*[G\S)X-THK]=:K"PMC8DL%QMJ;A@//9D3 M$:QFW&#KCL1J/6JNF!I?6JOP_CCSZ]#V M]E>DV[(:JC3-:J%=5>I2,HM')R M?Z_65L6LA^5%II\O5S/;:IOE6F#DB:#\-J/G-[MUU^ZXX70;=>;3T(4C3P35 M*U+9QBB0"%OBW9+<(1I^MF."D2>"8G/,F)MQP4Z<.U)I*U6CFNS D:>"*I=M M9:2(Q4 D*O)0RQ75,4%A3@6UH'RBI"N#"=99;116L=RWC ME?E C.AU6XUF+A,633"2/MG0!4^8V;/6UHYD02[N!([M>1+8W?Y8<2 ML;*C3'FC\#UCY&?@<^(GTB].0ZFXG,TML8_U)Q57-M0)$!1[.J6.PW=,9E!U M['[DRXU\2:E9(AQY,B6F9^<79"L_L]5-/I)5IU3E-#CR9$J9FM1HY^IF6V:6 MW:T\8$MDSA1@N^.3#;4H<93KD4U7CCILIE<<=I5Q/^Z,?#*G3-\P-9[2AJ*: MX_O%26>;Z2]A?\Z3.1%6B/<+-5:U([W2&OK]>KU1;8&1)T\JX3FBL"VMF^+2 MR)?L00&O-@@X\D3XPY+OY?"P!;:RYDTD#J?"B2W UB$G+8I+3%,- M<8772&L-1IZLT[2_%ICNS @Q=0,>N[K&Y8R$NN1L)+XZ9S\BE2A\"F=ER/:Q!2LE<=( M7H#YDB>3:O,=MT3+SLR6,FWO_[/WGLVI,TG_\/O_IU!Y[[WOW2KPI8 D=*[= M\Y0 D3.(](920@@)"10(_O3/C ;&QP/0=BSM7O6QH-&T^$WW3T]W95)H5Q? M>DLX]&!5!0=7^%:ML1+)\D,A9Z_()2N&0P^8^D ,APLI/GPPI0XA@$4*08<- MBW8J3/&,WA&XW7W/\DK,(A/!E#Q=F2DO==G-9"V>(U#1#K=7Q4&O M9)B#A9DLY;ESF0E,23?'4ZU,*8EZF,=WL+!%K"P#D>G@SI?57$&3P9R>Y[.MX3PJ0>L52VK.'S0,U,A6)04-S->#POR)G'G M@ :,52LG^EI]+DP?O$(@K*:C=#P\?SM85[TL^G22*^JFD;!;\ MTEYUUUEYC#.K;*=)&"Z1Y\)W/=PM:NM$9S'(ZU4\+8WJU&QE3Z;MS;!=Q M-=.6W(J<$Z8SLR[-'BPR,=R,W>T7H3&^LS*W+I?B6)8T\[1?NQ_V35D&&*=; M*W8JK>*ADV(_NF!Q2QOY^SY9//25PD]VL2+\G]"Z]=W=K#N;>&/U?CBKBDB\ M%0Y0C<61YSO@F2/+6>Z,Z-WO<>A]_I)=33+C2T"$OV>.%QX$_7)A;4MCH;UX MYM8K#2?>#95DX* &OO9BH5<,3!"?"$R Q3W^>]9 #>+,M3C#W>-(9R+)&: S MB#&(,8@QGSFT?K,P+^(,4AG$&,286V ,PK*H<@:I#&(,8@S"LN_ &: R;Y8A M19Q!G$&<.4QL9!!K(LD:I#2(,X@SGS7.WDS)1YSY0\Y\O#;$:RQZ]V#S.I39 MS9,&JY!= SPWKUD+#:X,SB'97OQH%BTJNGZY6LD1%)N+RP$BP8\GP7L1B)] M R0&B 1($Y 8(!(@3?BH6WY;-% <"W[XWSOR[JOT(.Z3[%7[%!V]]?56J;Z] M.\*G*\[WC80"T>!A[I M=K#Z:\@'^>:I6O3D8U=D$$D(DI!7;+/'TG%(1KZ)C/QYV8;3TNQ;FK<1$*3; M45 =F6BD1F/_+S7P])/18"1G"!W#[E[)W;WHNS;10D[-]Y;A&LR?QI;_Q7B MZ5LC_N?M(LX98V&H6EC"V1M+KN8-9^.T.EA0M4!@K+HU;VI!QA[Q;U5R3@PK MX[%:G\I+"V^UZ#0^:PC+A]ZSIG:%:O83I9SWVN;5);?FAM7GU8YD!5I=3_JBFW_W&[W'B2$GG=TB'S207 M6\!)_XT,X$L:P-])0R4?T,7SD0 A ?JB^;QIWX4$" G0UP1HU\$)N5X7==&_ MDPC!7N1(?"Z'0(GO)3Z;;BS/!>AKWJTL*:;N.H&M_OJ'HFC::'1Q0GQ\V7M- MZ3.:$O:]@GWI__5G1L(D%Z!*A?K $M'8F57Z=CX97AXO?-\.CTD*U1J.!?3@[Q<7EOX0V)\ MJ1:-"YV<%[+R0,.GK8JFC.7&C!-AZZ%MXWF*/%N'1@0:4: * HU;,3#>[C?? M"-KC44DP%%Q:)^MZ>](O$-DS]YLO,.EVKY?/5<7Y*%YSZDY_-*K"9F3)N]\< MSL0H"AD<"#L0=EP?.U[I,C^N9N;E]+ 4%]-.R9$'JIY[:)VY,^R0:X@Y->.L MA)Q<["8H/YEN^&&K10(VAJ58/,81W)EP@T# $0FR7*[5/!.)I=V6K_+Q]O*] M;,]T U-F\>E 8O)3)9%OJ">V.E[U7=:%=:]OZ[XG2$EMP>CJN-U:A[U0$W>_ MB42,8>AS^2X(1Z)!EHM9(&0D5A8I"Z3'-58UWYO%<2;IB;PN=NK-L1)XF)$GTJ290RE:K(]*2@X#[D6"'Y=;<&6.^;B G,[3OBT0C%X6B9 M3,V'>&O"&IE!EAO897[(A.%0@B9CX&W.%PS]V0J$:/"!KE410)$3;9F(UX@& MY[^X>FN;9JE5%Y0&Q5%"D#&UPFQ8FW?U\^UW6EQK]LKEAX8@X;XPLX;9[)C1 MX7['?F2_^Q[IS.'-RK@L>1K,9)_.--L+672C2%\,E\1R0.BRK=- MM4%:@K0$:4FTK,I3IK9V+'FMYE1]+G9;C:S)2&7<+W[]'@VO3@+/A^_DM9U7 M9@X-M- ^2^^99TT-+,(#4M'2W(6AP!H9AJ,V-<71[? I8>6,(T:O[YK9:E/. M5(3TJ$V4.BY+>&YCR,)$63I&',FQ1\J+( U!VL7B0D@@$%F^348I4A2D*-87N#J9@%SPO"4A/. MZ*.RLJWVU_7(B5Z51R6S%B1+6J==K!;+RQ.+R^>*_X4)MW!%F@IF!H3;YK*+ZFAL/X)5A+SMT/Z>_7 Z2+]=(ZOW!GN)$=U1-U4JDP-1Z( !$C M*>9 !C#W\>E82!],@L_W U5S<4LQ];CON9.,2UT&F'V*Y!J8Z%A,TNR8YBM M^9 #8*4CS? #\#24&/M3$F.C',8X+ &R7HQYK9H>R,+<=->&T'6RT]H?E@ Y M5-D0GH]I;%7S:Z/LDYH<@?!2CRXWR&R)$%NI\5AT"(K M&2+!+>2NH41-).Q(V!&G$0F0L*-<.D0#E#_[XWF-:(#R9\\CBARFWWS[9]O8#M>&;P3@^X'-;6G4-?PP+)0 R@@_" MOZ9>AO2/AFEGR9REBV)Y*G:5'&T5<,^;SY9AK12.H@[#M!N28$LXGV:IF.]@ M,VF-^=(*? HHJ4UGEK/6 &-VD=I-'!>E,:,T9I2@B;*94#;395N;G C;Q>),=>(/OZUZL&[IU;-[6PZ%C;^>PN]V3L/!24>+H^;S)X M,,=)O)^KL:["#[FPH'$,IP\K"Z)RQ@B=$#JA/1QI292H\J.U!&44(K*@C&0D M$8@L/RLC^0I.X?F2D$_@S&F&41D6^OV%$&A>TM24M>-VE\"9@Y'K=[VY&TPP MOOU8]5M)Q>$?:S/X.IZPTES% ")P-%+=[.&YOMI3EZ(DT]VU-8NS0ZT!<\I9 M^C"G?!>H-L)YL6 &8]/;Y\-$80_.BSF;B5&J\$])%48Y32BG">4T(4XC$GPW M88_RN*<-CE,*S$^]CF$+,!+JW,FMKTBV2*SSZ*3O@]3!6G9EQ)ND)8A+4-:AK0,:1G2 MLANA&M(RE!QV&K(@/?M:\ND-*5KD;V+QBA),@S"9+@Q4I/?C%)MF2]O317]@ M$:8Z*&MFB9)+JS7IL-MG8*[YVWI=4=Y@&B@@L6FE-]2 "B).Y^)V(X1Y[K-A8".01RYTX<1AAWP5#WGV+10,GV MI,Q '8%W4=A!UQS/Z^,-%K$?P*);S"66G\VQW(R3'4L%?TQ)5EC(6/*QBN0J M8XPB8ACDVW_^DD^$-=!QB9B&/*//_YPN-!VQ95[S (SWAK71"2OH>B76IJN# MC&FF4_$\2;$E1S/^,&$*WD307&_S)D>P@LJM&Q9'3N/"M-M9DTI%ZP4=@!4D M+(I+<33*ASICK"-BNG1RR-C&)B*VS O;#G^&$J^7IE!TADO)1E7":^E)B[;8 MWKR;_[H#=!0M7C4Q.IUD28A;M0;>RK!%QAQ6I_*X 6&#OOO-XG2,2A[6PC]9 M]0F$'9%3*H0=$3;(^-( 1!"(*02T)(4_,EL!I5D%P;D,G;8D>N MI$S91KM-B0PQ:!_IYL2.S)EB6[SSP9HU:]0L+7[$R\R7$#H*X^TW& M:)**4?BY;G/\^&37;7@U8IIU<@#9G?E$;)TWYJ8S':GTJ+RV\U:+3^*PA+!_.;4H$%7N>M]=Y0VC5^'DET:\4 M^_TP @I/2\@8"SP1_$C)Z!<')G_YDFQI9]/7/2[!!H&:NV,303YQ:,NEEJ9A MMN.#"7T'GJ9#X0(>]S4^AW$%@QD:&+=F*(5G@Y;>@[MV'"SS- M<@Y.93Z!1Q]$H,<750UO9DEKR"OM[Y,Q ?[^$ZQB M:9(+866\G7N'&A2<9F>CX/\\XS[Q&;E+[JTB_/?_[2_FZ50YKCB6X_[: =[> M*KV]S,D MSP%MI](JOD?!+=3&+6WD_]I^;?>9NR'']D/'"^,HOUQ8\PG8,/#ISYX;,LIW M9K](XIZ!8@-^W2XL0=RS]*58MX?C\'_4$Z/^(V%C%^+O/]J.\V1#MX72@-X1S Q:,@2[]/"!P?E\XAKAI4/>5E.29WBU4=W5/,#L<)8VF#9E M 0MD:VK(PU+=BOLY:E@2<^TBK9'T>&@OP03@2=(,3.&[@781*(>%ZXS1^A,2 M2=QC__L/@L'_#LF/U;+8/@,NJ$O'7_U/#(;+OFK;F:4"PU(QP\,LPX/6%["C M@6>,5?LM8=L6&OX*/ L3_.BMIX %&%P ":A?SMR'/Q)_8UT-<[69X_JAC2=O MQ1(S[ _WZ]9T:.D-]7658J2L[0D:4W'GS2FK\.539T"]K*T7]S0%6N]+L(<# ME7FI94!]9ET.*)KS/+NM[]T MCI30VS[I%U:P@;UK6>'*,$ 5K#73H!GLK[&, 1L0R0'\TT[V:X#.S[ZR?1(V M<\$J72! @/KAGR$;O&#OP4YX[5:&G FVJT=@ZW(95B7$HH?%"!GID$6@V] RB4! ]^;2H!L3ZE<_&=T0+HN*Q9 MAK;00DR0%'AQ6[+7&S9]P:L+E5H"& &$%).>*IC&H"TG81O[#O!5"5QXR1YH M)6RU!2^'*P!<)'<-?#^&0=+A+O: M+VTU!I3VGX4[_G<>./[?[])Q,^SONZU'./;]F??KK[^6R^4]F.%>=Q9@__S_ M5$?Y[U\\4!,@OMY?FJI+[E]@&=)?!$.!79_X"SCR!$TG*19H$/B1X[B_9$N- M0\DGP']7!&[>C_WI,6?SDQQ_US7E;3L(,2RTC79ZOP:^QE;?W]#2/2\V!B%L M9%C@"X^,; EIN%UF-=D-(!:2R0UFW)S._?7,23J[S]0"+V^,#$6R?1YL88$- M38(Z4 7%T+Q#/\GD+ '7,E[!-#I2O5@A'&6EZ!'UDY[-"Z;=S'H8\KS[3>[L M2#Z=KHG5=J&:P^K IT\7A+-[[Y\2HK?6]4$!.[<3OG&W7PC3>O/OH4 M"$'7 MIH8>-]VA$1J!>B;_!_"Q#.29)1_8.;#_T<+]EQ9[?\IF-;BPM MH-VIVQNT_F'SRQ 1H;41V[H(6RO$ ^:]+>F;-P*6(C3V 95] MX,# _1+NH)+G!=--K:9[;+,)OSH DT8C3?%#[-W@.7@3:0IY'MJ/8*BVW9@M M0PK%TM >':1'$PF,A!((Q 2^UK.1FV=#6H2UC\#/QTTQL!Z^^C MH M90?;Z;45+/8/?E'#8E5[7PI]LK!V%5@_K_B;O6IC$BNA.:$:8-4N!BGB@O< M-G9H+_K/:06^;$&'# S:.@48, 9L;^/E>H!__A*R\#'@ !:R6?03>X%K,07+ M!0NY/[HM1#64>&9T 4O;0Q;7L<&/RD82WL:9OD:->&EB5 2MX#\TXW;5=D;1 MV;@^C3--#8:N@0#RJC.#XOY$%NPY72)@T']V>=%V3PHV5E-\!YBIT,($OBE$ MD"S?2NU:/_ M,?Q+' =&Z#8\N,<>:/?"LQGH'V#\$TX^?E;>@\$07W9_V71! MQM+@K8#_[7K;>..C.VQX$!G#$")F (?=@1[M+CJQ-[ND;!W3+3"&>KHW@;*; M .XMTE, $Z"9#$$)NE# IY54%<"C%\:0@/?A>G#_ =^8A?$\>*_/5L-8@>W! M<*JMK!^=-+ !N9KB -LS?!C<,.RGU]J]SN.&L'X&\S-IO=G%-'>Z(1U8HP%\ MB,V6!.-S@>R!;0\.VBUQ.]W#QAW?$"6=2KF$?%?#?,"BQP2JHNE,8?3> 9>D]^<:/$?]'ZS&TA^VM ME1E"Q":ZOQMH !WW(-2X3\O:_NWX&L#/SR%G9,#CE# \ FU&P V8VXV%.1>/ MD1*,H'=8%$*W%L;\=Y "S5G@%4 K1;IA31;:N$!!_0/-EL'E*0M5,)M8/?FQN;L M8]]9 ,SS-R'?R^5'?2<5?I29]U28>U3A31HPUI96X.VVVLLFCFGOT\BO:2UX MZD>T%O/@B=P(^A: W;KC&N$QV\:+@[(,]WD@$,!R@&(4VYU5^.$*9I*A[IW$ M/?UM__CL'.J9>$<]PY=ZBEE+LYEE; X )7A,"!<=3APBTZWHL@$-V[?U^>!U MCNGS!R-@]5:E_7] TN\CH&VGB/Q>.!+!P[/P-V#!QYVP3VX;_QG@22KOOS%N"(<1T77 WQ"Q*/FK9/)E-F'R*9GP MCQ;URLZW2W3%/W$%X:5@OY%NMLL1#@VF8[FU>SF;,.WS(&5S[['/GA57@/?X M]UOEVT' O6%W>=WK5I9XM\-!6>3F2*RM++Y_G>#SN%<89GF^,QJ7ED#P<62?88%*8]C6S MJXSE]D O$)K##S>W I\/)=)Z45 (LHHSO5RZ2_%Z?T[IP$ Z>*CNNPRA*:H@ MM!2KPR[=0LJ2>#"2?CERGJ=*Z;2=$44I.^TYZ:G:GC -,#+Y-S6N-Q\L1:-7F\[F*VOU0,/I#]?DLTSZH1$4 M-)&4!^06I8J_1RTA3B2UW/NGACPI7AR /REP9.BYG6\@NQ M.UJ++395:V95'HP\(+]=QZ4JFRD0@N31N7Z;7/J! )]Y2/Z'>5T?* MII3IUZF"D0B''I#?'"978P:OLF9.P+GVI)MV>C*<_Y#\+:=:?PB:D[Z82QI! M:=*G>W1*A\L_H!1'.33#.OVFT&KPB60J 8RF23CT@/PE08H7Q@]&VDP'\:K> MLZUQGRR^C!I#)G#D94!6^XW^[Y@2EK:'Q@9 MNT)R/!AYJ*:V+?++A.@(1@+/4[5*@8_/=3#R@%%"M6GETN1B:DJ)4:'\4-,J M?!G.?L"H>2#1I9RFMX5 R<:5Y*Q/FK4E&'G(J/*4;J9'(B&+TXDVT$L#-:$T MX/2'C.H C>\(Z4I*(*?YZ80)1$OTX)H.&34IXR2;I]B6:=@]OHD77)T?P!"G3T@G@0%(-[BA: M9H=KAR?62E[0#TC1SIM&MS=. MT)/VA-"71]&RZP731!QW1=PHL2M2F7/S244_AI9S0UHIZYY!"$S+\OV)WYDQ M1?T86K;B>EW*Y)R4F!LEQH&8*=8;'G\,+3ONJ$$R3L,PI[V1Q;:[^C0M'47+ M5;U.KUJ:-19)LK?2EJ7E3'S@CZ(EBS],!_VD'1>8I:VVI]5$UD\VCJ)E"9\3 M)=UTEGB7X3*-LFAD)H%^%"WU_*3!Q;N#"AXW7+Y.-])IHK@\BI:S7+H_68O6 MW&P)5);3*"J92/%'T3(WD)(!I19D<>T.-7^1ZKF5A7X,+6V[67.K-&N8DM#G MLP4AT4E2$%>9ER.)1(^KC@*MC1MQOZ>-[&5I0<)G<@K"[ :KAD:GQ?%LP8.AY ']259I&M-UIB^0-$!! MFJBUT@_\,5P?S%I9+;-D='/ME&M*KV;54@-]R![9*YB9L18(H2O$UUJ3;S9G M30N87\G#D34:S$KDG"E>RXOQNHK/E)D.1QZ(J:(;_*I=RQAFS>/(55N9S8(U M#T8>B&G?D*E<2U1(<\IJ:S4IDRH]A2,/;:KJ4 Q*V>1$D,1ZJNF7Q\TX#F<_ M%--\54E-Q7EC@MZAV?0Q''BC+Q'4:,IY-]\1<.5E?=GKX MH):'N\K!2('LSY9Y*5<6:MF&*:U6NLC.H U^H"Q>:=S+"D6Z))9ZZX'72L>- M8B:T; _$ASC]Q@T/"DN6YV&P_Y#EOJKWH) M^,R#V9,280U*<7Z*&SFMQK0")C$@^&/HZR^&7J'?'C^8\X*LG_#&@ MT.>,45T6U$"<3]>S?*/1*C9%./)043/YO.ADU*H8;]@.=T>G^ ;QU3:Y&;Q7MG& M&;Q56(@%8Y9+K>?Z,95>K'4_W8E3'5S3S/2H3&OY;"54J@-%&:5[*E5O6.8Z M;]47?-J4O X4Z8,5\44[GAS1,T_43*Z_DE@WVRE![=N[$KJ-%V^O+KT56][& MC".=7_Q*-/7N-[4[MFD*':$J"EA32-=RU0*ZI?FI5]T>4\#S.-7P)%UW-7US MY6>;5>F\O KX^NW!O3MW8,PH<#?W\W9W[\"\)KP]!/ZVO:JW34/:N_EEP+,_ MS\=4;6; _*FQLPQ/P7:WLS;Y 3',A^F<^B9A"&:@N/"J%WB=I^S4S3VKO0,V M>+(6'MIM4I;@N:8S-11L)"F^XSZ> D;ZL/O,9U:9)PD CX)W4D-2AL'4PP.K M[BK1,S@S#;S6WM_.V6?@3N !2?+^_2LR@/(>6'Y0EK8Y--O3CTVM)@403)IYVJ_=#_MO M#@\+MB\- YS*)K+^_&ABKYC3]ESBL("+[^YFW9%@L\:/=6$@Z/ODFUT8]D*R M>\]WP#,A$.Q(LOL]#LM6_=HH.R=UST.E63/L0)?N_3!R>O5>8A/ M'"?N'XO]876S-QN#(\8@QB#&O"B4]W9'&<09I#*(,8@QM\ 8A&51Y0Q2F<@R MAN 09Z+(&0!F;_;.0)Q!.H,X@SAS&YQ!:!95SB"=09Q!G$%H]CTX@W0&<09Q M!J'9]^ ,TAG$&<09A&;?@S-(9Q!G$&<^QQGVGDLBSIR1,V%#P?!_7U:>]](! MKTB9Y"H^ ?58L( MVWM4G+"]A_#4WN-%K?_'JQ!(WWZ*OGU5O0CBJ^J5P,.-\CNI%[PU\5QWSF;? M?1=X_B/Y8:_;?OX<\D/]$.S=S9,&JY!= SPWKUD+#:X,SB'97OPHO1%4?]T2 M^JJF<6&1L.^D:/MW$T\&V->0F4\7K3J#@?V>6'U3&7JZSAI*T%M#_R.[?_U^ M=]3^K=B;%LKHB> ;R$9]+ZD4MCUK8 5A9(HB*?IBG, !V^//$!\D+=&TIJXB M-+=D3GTS(;H-=__4-1-&TT MNC@=7E2"\@P5]HB!RSN-NWK9)=[*P5'4&/\_)UC8YO)W!%:VI]IA_:']-@/D M/?VL+02VK:>5=3>M9+' -C;5M$3PP["U;?@S%%N9X22[6-!4WR.$4FX]8IR% M,QRL];O/U.#R7'^8?FS. \858$\S?F5XPVT!KF%MTS+(UK<=V[Q*V/8H_&I% MFCCN8Z_*\&NRI0[WU'8[>/>PQX[)J6W#R=U#'[^[;^UO_[A]1IDKZWHQO7(% M8]%/2I82YQ^DQAVF LMN*EG>?^_BU!VVZ?'TWSMCY?^R@ZGJ^-N_?[(9CK!2 MK #*!A^V/M+4MK0".PX0/_ ,ZNZQH"G)K.;"+#\0NPMJS/@]?55=P+J3U-UO MADW$$A2S:XZR8^F-*BV",@1E",H^ V7[+N)S*&OBY66BUHW/A4";ENN\)#%C M\]I0EL<+I%(L-;*"-F:=3%L+-'($ZW(S=[])@HE1'(N@[')0!KVX"&C\.;", MBL3*WL RB%[_B@Q\02S9#Q3PMMK(V@TZWE,A5J(#BZQ2I?)Y&9SI0O1B+O[3=,QCL,/P.C?-ZIW MWS'#!:'7S[;$/HQ"]GII=7"WZ9HUNN*":1>3V?S:II!#$0TOH!I#(0CT0:K< M*RWS3MC-A+S[G:02L62".H\M="/H@^ $P;2= Q%D=H MAM ,H=G/1+/7PU2CKD0ML_WEPEQ7S8>JQ'<+R_*U;3-Y4M:"Y8AB\)+N+Z39 M=&ATF1#-DG>_23(1H\@SA=P1FD6$+ C-+AFH^CB G2E0I6;7TDA4AS4A3:>H MJKFLS_A69 )5MD,2CMY3TV)NJL>G\FJ1'5H0CV _1YJ(42A2A2)55X"O3:&( M"*PLXL;8AV&HNJ DLSM,5 1&:,U3LX'S,"E?&H9>HL]PN4YF'==4A6E%-1K) MA(#CU;"7<.+N=Y)(QAB*>\,:^EJ:V%5U(^U, 7E@,N]?!5L-H.UZNNRPJ&'G M-?(GKI<8>0,DVF9B1#=Y].H0>Y&TC"<0 #;F$PR<,)*G=K*%H*<]Y,SUE"&&8#?1-GV$"NK[X^5(T?K;>(VA$T/BS MH/'UL.! 4Z:C1@8G!4GH9=?=834IX]<."Y;'UEIOVKTE/O56?IMC*N7T0M\T M5J=([JS9:S];[[/.B]>7LUYXG) MI4'MU2#CVB?L0-"6([S5K*M"T^TXB7X#H!MW]YN+):ESAAA_MN8B=/N&Z!8% MR^]+*%5>S=SR/*AFS*[H%*R9G9@_]/0KFU[Z(E.HS@B<$3S>2HW+^F)UH2$QG3)1TD<17>MT9NZ4VTKGVB$9^(8[_:KF2$UK@P;":MLI\@H&,+L_DH*A'# M$V^=7R-T1.B(T/&;9P2^#8T5BZHG%]23"28&,V= M/GLP BFIK^O@OJ;,7"WLCP:E# .S^9@'Z.?==+VB&\"DUZCR'*4H@%*J$\B6 M=C68NER9I\@M/4H(?;JLFE/$(*EB.:>QCN;BC+!(SML-K:8WKNUE.U5IR&5E MI2/DZAH_EV>-?+O4&#(P;Y#EDC'V7.4,$+XA?$/X=GOX]GH4L9)L5NOD9&J9 M6F96:]"%57[B7AO?BH#.@]6H(+OJ+E,0WYB[WS0L<,"=Z0#Z-O#M M-F_@10X4+G?#.')+_X:9@G)FVO%Z4N +WRUP=<*Z?P((AIW]YNA8T 'T:5B!&D(TKZEB5=JU06E07&4$&1,K0 ,NGE7 MOW85*3$I]6LD0:[,&B'YCE9Z6#^(/$ DF.5'Q$@6N)'$&3-9;@"4$,H@E(DP MRIPNC^44@3*FDJ)+5F_BXC4S4[(-JIUWG&L?B"BE-M=/5;)582XEJ42A7Q9M M*00Y^NXWR[ Q_$@U%P1Q".(0Q/U8B'L]5B9,9JU\,5<;":5\9ES)S6F18JX= M*S,;7:*(SQ(BWL)7K&1Z'%?.ZA#BDK"R>C)&L?2/ACCD6B)$O.EHV3G2\VI+ MKM/-V6Z Y]C$2&E6<_%6UDL!SE#3^&&P>2D>$".VK5KA\N&[L1YX'!W M(C#RK)2HN9K)/820E C#90P=(ZGD>\EU?_D28/HE&I)/P/*,T?JC0!).!&8. M)ZZW*NW_^RA6W,)2[GZWQQJ0&,MREH#36,@%#YNYF@>L>\P)7,S=2(F'J88G MZ;JKZO6:/!!=H:DV3USBUH*()PT M\[1?NQ_VWYP!K[)]Z:FTBH=Z;C^"6-S21OX^JL5#M D_V>X6./Y/N!;?W.8(",6.)+O?PSS17[*K269\"8CP]\SQ#*C0 MOUP-!K\6VHMG;H$]G'@W5)*!C1;XVHN%7C'00WS"! "+>_SW3\T!%G$&<09Q MYC.^,0,>+LDX@SB#.(,0K/;YPS2&<09Q!F$ M9M^#,TAG$&<09Q":?0_.()U!G$&<^2R:)2G$F2AR!ND,X@SB#++-O@=GD,X@ MSB#.(#2+%&<^7HSR5>5Y+R?PAURY?%-.KTR#\+?EYHNR8ZF?)8KB6/##_]Z1 MU-U7-9FZ)XA(%\U5--O7W!YA@JYJ*5217&?_O M/P@&_YLB8IL?_O.7_#)!'2G<-U>XK^H707Q5OQ+X/*\_9++SO M@L]_(#_$/?7]Y(?Z(> ;]9N*WQ&KR:^J&G=/1KOE^ZS>D0^QI"\QX5 M+F%COR=7.R&BOY<0M68:; /AK[%0A-X:^A_9_>OWNZ/V2XP@.^)BV/;-K(C] M2@](BI 4?3%6X( -\F>(#Y*6B-I3UQ":F[&G"/P>)[^7%"&#"FV%$11+9% A M*3J+0?7YQGHPE!>UQGI@[P\V.S\FV2HF@7?R/,6TWF;95_TN,3E@.? MRHF$^3!OVD*.3HY(V9(RI<*UB[C5NI8ZHOW$3 CB\\*@%*B9/M$8)F#?/"9! MQ1CZ7-7 $;9%@RP7P[9HK QAV]>Q[?4ZX.5XGTE/EAG6+.7F@I8?<0)>N78= M<*]+"8M4R6V(I?JBUF'F9H:<06QC[GXG.#S&,&^U?OY#!P=A6P3(@K!M;ZDW MVN/ZC!"KJ;04F8K>=<9B?;Q1'ILYEJX5S5Z?2+4A M.G%WOVDV1N.'X'2B@MZW@4Y13Y-!8/:C#;6O@I*4IX.X'+12HI%9Y!<6WVK; MTVLWA9I[#7FJ)+)]H<3A<;&5GDR*&@^P:-/Y#F>96)(XER-X&W"$\ 7A2P3Z MF43#$7P]R-5RM/AL)'I#D_1JV2[I]:C NW:0JY!2E&R#ICFAQN0J7*#[DYJP MA/!&P^8I>(QESM76$X%;-,AR*7!+'F_@A,#M=L#M]2C7*NY5G7F&H81TRRPU M4O7%<$)<&]QJ^60CGYNTQV(M6V%TSUOW"G@(;K#;'4[&DCCYH\$-.9+(T/MF MO>K^! CUWLI@F]WUVI3$259W<+Q@S",3%6O/*/DA01MQ,]Y>>P._P*>L,HR* MP3YW-!'C6 J%Q1":(32+J&7W551BV:*5]$HI"R]EK5J.+(_9'GOM \26F%7J MI?R0,W/J;-Y,.WJC689AL4V'.QS@$SV:I_!:2L3Y M7G7MFD;CRCA-\H/:9C$1B=C!'&NZ-Z/UVA$@_?K MGD4 U>+?_][&!?V;GTV#Z(O[ZTXS[QJ2]8;+O%$5)"V(!C]+8Z*4/W/<=LVH M"4DML:FF,*=S.:=,CU4R<>VTF66/Z8Q$"R=$S>;FYCA;FVIK'=B=,&WFK(;G MC]*/]LE48T>+_'R_5A#3D8-WY"B4CVKU!'8W3#=XU^[^'A5UZOT) M0RN3'I6*?:81M.=!/R0@9D* M)!OCSG8/">D\(@M*=?W64/CZO25';#UDM4DF+DKZDE_@C$X'S+6A<-2:E[)U MLS40/$81;R76WE2&^@WH/"++S4+A)>XP7;RRSQ$< M[)7B25VJ+L665%5DOO? R^M+W[U\]=K2J$S&YQG?I$UMR"OSJ6]GYTT(9MS= M;S9&_?1:/@C,(D"66P"S*-AUGP"E+%L>E+B:Y@AQWPYZ:2\SFXZO;EA5JCE? M;59)<6KP'HFSE6D_O018!+.2&#S&L0ED62$P0F 4.3"Z4#K3>>)M=L4QR_.Q M,!=R*J5PKI9QF*MCX:3C:?-EU<7-;D\T'F9&H9)>AEA(W_TFDS&232(L1%AX M;2Q$58-N$0M?#[@I^K3?Y8)>1XP[AI[I&OGBS+WV\;)%*=VI,L=K0I>9=DJ9 MULH0I]!'A86"*"Z6/&=:YPTH?:23/A 5?XK5>8EXWL5K$AW"[( ERZ.:@N9I M$V:^Z,9IHP&A+K$)%]*'6'?3%8YXR\(O\@9HM$TOC&Y/ MSZLCZX42;(#RUZ#N;P><,@ Z"/*4E!_T*F+0Y5UC/B5GP]RUG?[9I,/RDV13 M$Z7>0R\HQ\'Q !:9N]]$(I8\&RQ&\++; M59QS!(O?"1:_90[B*YCHD$N)"X;MCB U!L+$6&3\D1^91$1#5.KI[L. QB6> M,X,K3WN+!B\9%6$*>+6_YLI47 ]@V!+0KVWFE6WZ';%]8@C M*_1P5FVUKVUP=?OYE-!.]RNX(:?G=3;%F3,*XA),2DR2L>0YKWO\;*5#P(2 MZ6;R<82)%[IT%4F>^WX',T4=R-FCA4Y(7W!Q=HGJ3T%Y, D>6CK$4\7-P,=)Y(K<)HY$FZKMCI*XS5' MA;@)$Q>)&)X\YTUDI.0(-Q%NWIBU^EG\DRKS=2^>GLSP8$P3J;;Q4&0NGKC] M$O:H;M>R^@*! [B;-.HC=DY0,CS/A4F,22Y&)DZ?Q!B!U-C7E75?1V:N%@^U M!,@7^$]5\S$/T,]#E;2N56#L.411 *)4)Y M[6H8]8QL)^J7>[R>8N26'B5X M/EVVSRD"IE2QG--81W-Q1E@DY^V&5M,;U^[)ZY02.!Z0JH[79L,FRQ7DS)QN M#),PH9'EDC$V<:Z *4(XA' ?N1\3N:7_=(1[/?1923:K=7(RM4PM,ZLUZ,(J M/W&OC7!*(B'U\EQS+!IFF^J.YI316"T!PC%WO^D$'6.YGUV_)](NZ*M4C!PJ M($#\3IF,39:I!LVZ\7QHQR7O?M-T,D:Q;YW\?G^(0ZYE5!'Q&QA]MYKW5UMR MG6[.=@,\QR9&2K.:B^?BEX:R5Z-E/-\J3[O#\EP(!G2NTA$DE2$@IL$2A8XK"90C3$*9]!RN/K2R6@YRAIW##8')2/"!'[=JUPV7#1-\+"#N]$IF) M-!W:RU0U/H5GDC"_CHB1#!TCJ;=*Z8NM2OO_/HP5FQ57 T!+0_G]GV>_GB)*^IR;QU@(.>>#O:YL2)L7;D,J MM\&\*X(Y@1M2$RX>D^"*/0SHW=-GUG;U!GC-): . MIFS)X\4PP\;\L1. C4'U?H5LBX($?E#"-J38?F<+I H@E#3SM%^['_;?C %3 M;5]J*JWBH0S:C[@:M[21OP^T\1 PT^V&QB._Q.^J^_N9MTM<;.&+V\/5.*> M)=^Z): :BR-3.F":$9"+'95VOX^9XQE0PWZY&@S1+;07 MS]QN/^'$NZ&2#"S)P-=>K/V*X2CB$X8*6-SCOW^T[4<<\+K9A[ MQ[]6@$^KN2]((#^;=;GYINQ8*OACP8:1+DV%T8 R># &#P0PQ_[/7_*GE_\. M6MX6NQ7'@A_^]XZ^^Z+\D]P]3E_UXO7)I87W,&?T7#003D01)]X-Q!UE_>LT M.)"%TQ/E>Z('^57T(*A[]DUW+7KH4)%<9?R__R 8_&^*B&U^^.0^\D5#_,K" M\:?:<1II.6^IF9-+2T93PK2#-P7F9+O+K564.?_N\YWLDK1C \IXP(Q]2H(! MOZ0D2[(5#6N--%6K^Q07$-[-_#F[Q![<)J#.>I> ]X:UT5X6^>Z>YS8>%(:# MRHX2)IX_WI':TZ"JMKO=R0_G<H[DS-7U ZO]MU/^Z9P-7 M47^"?+P\]'7];Y$B.RMQ"09/+WO\8N*X_FQU:?VWO1F^HEOT")_SP[B5M]9K MOZ$#_6?O?C.)6#)YV+[TYN-1-X .$:(+BE[=H/P@JJ#H%9(61!44K/IYP:K] M\[3RTQW=$QZJ(1L$N;.(!)#X)\[&=@.V&KCG MK>PJH/9RS;Y9RIAFD.]*K1+I]8O"UYML'(N1/Q9Q>CU(7DI6.]DR&:2%Z:QD M!>-!OZ*O8#.-Q*8S.L&<[9 , #_(3MXT;ZP>T[;6"18CZ\NXWQ9'W MAWWO,,!("Y)#@O>UL?!>)D81,0PNZA[K:IBVFFF*C_D.YH&'>J,UY@.FO$9J M6%+0U11'MP'3=]X'Y),7R!Z@L6](EK7&P#]P.O D3WO&PETY0@\[=R7(#U%8 M"!>OJ6U8%%FOC5HA"3:T W\#*+9EQ"/Y-:J0YA39C^,&(TZ(F9^O]V1 ?E@_ M)*2<#5:!$4EL"A8T]EX"P/TYM>U64:!F8PK8?0&?H-# 2I:68^MQX/E-GP0F MADE0*J%'*.G:5KJ V/J2A@#F=-PUMA5=J$+;*7??A?0CV+^]W>PQS%_/ MH 4!Y!^^ %B-A*TUR;W'VF/P4EMT S^Y.^\=O(T$?X5+AXN";P/^#N8$T@.> M"P41*&!8GE.#I/!\-]C FV&KX#W<]3W6?/RZ^Y2W@DDN^((E>9XQ,L!,8!HI M7(MC P+"I;Q,$X5*O"TBNKU J>Q?H)2W%RB]\ )E^*9+#9Q [ MO4?]G5GAN$\S/[+A*&H[HZH^UEBKCTL99N)DN-58I?B[WTE@1KX!VH#*YR'P MI5*B+D?A')]8QAVRG!)JM#'))95*G4Q!"A/WW.>VQ9#LNSOINT^I&% O#^X6 MQD*SUO>/Q8TA;0T[D#968%21?5/.::]LE6(!9()>SOAOU?# 3K?^%9JLVZD> M2Y'#*<'>N'L;_)ZB9R\+X>X]]MFSXHIF67^_>:GZO)6Q7HTDPC#J8TQU0U4" M/ZQ^!?_]?\^*?3VZ>[#$L./^VMU4W2/G]@7(T/_3M?BFEI@T M/_DJREM/:V MBV>Y>VIW!_;7XV57*@SS0CK_$]O[&5+I@(FP?/$>(9]5,-Y^[7D1X]V'[]0T MV\J [\Q^D<0]\UP$$L0]>R@#9Q?\D%74$[_^(V%C%P+:/]J.-VK9X2"^4,EJXUZ_>/%XXC M^*;56EMH8>T:>--J1JBV!/C.U5:M7,CP;?!+ME#EJ^D"7\9:;?!!1:BV6]B_ MTALXU=1_7WMM!P+UE?MW;\#N2^4]II-2N+^IE$:0+(/'"9PC&7HX;)49BB#I M!+G]Y&XCLIO10RF)TV1"2P[9A)H8)B06'R:3E#*D"5E626TT(DGEV3?:RC"9 MS4M.K2':>*W=[#1QLZBLZ25TP!(OAQJ=ADR.AH9F&D/1:,X3O&KZC2$Y)%^. M'!#UT5P*@TRO,Z$2B:#D8F#T:2^3'K<)PI3'.M4+K]2 MUU8+IU*>BX9L#H:>E5YU!CP<>L@H7:G)66DT$N8+;5449\[4*< W/5S^NCP1 MB]54"QB.0FE1+TT#?=!:#A-#_.5(B5G(C50W,1?G8Z'=95:]M*4LA_3A2+R5 M:'1*;M80XU;.+DW$*K54X%V5 Y+F'Q1[1#%I1L@9J]2DF^0"7X7//"!I74JY M&8 622%7]\;59M%.]7F8_WY 4G)4E?&FO2@*S+K<4)HW6B62>.#L 7S10^(OY@]&D';G M:[RT;'1H'9]VZ@H/AQX0OT](PH!)J36!S+'];%HI#PRZ,60.29I;KN>61PMI MH=:?Y&N#],1?5'@PDCB@U*A$=?GX@RJ*K5[0*)>'U23N\$/V\*$3RR@7355D M32.?[:EK;Y3W[088>< G+E4@<$T0:V)\GN@FQT.VY*]U,/)@]E5:&KG29-$W MR3[#9M9UDHG[7 MI7*ED3+8?@9.?TC] B?47'F2SXA2LR!T"PV-DS=#GU-_2% J1\I):BB1*CM, M$"-\*"<3RI A1IPZH@B921[R:Q5DB4PN0YI,LRCV'7ZAZAV(E0<$DRV_PW?B M$B>6$@-R)!65!R6^/ :58T9BBN1\,A: RZX66=8EYP)$M0/2)HJUAP7[D*S@ M77_%5MJ^T)VY$ .&%OG5GZIW;,LO)5,F6:CQJZK[O(8IJV]U*@O4WC&G&:6 M:WE%6IF,U#B&:0W*7C5MWS'%(-TV>YS>F%?@PH4LE1F@A4WA&-9+\U2YEE9]W5CP%%L\SJZ8;=MLPI/F$[GIHH439_ M !1#F4Q*]"C!#1F9HH<)>20-Y1$N#Q,:FV!4-DD0],'*LI7<:M1IM3FAVXF/ MO%P\/]& R![A*O[0+]IFCED*N:)!=I(M@WT8'N6JGZGR XDMF^:\XA<]KM/, M3BK+8USU,K:7"UK&7"C1?$;F25(2LT>Y2F;2235#)C)BH.+MJIUO+.7I4:ZR M!E_OY+/]!Z&U6HP(/)]E-'&YQ]4S1V!SCJ,N@9_-VVK!]B5;-X"YO2D9DS$\ MQ7*\P#W2AH?CEP6"7;7C9CI72NBUZD.W;2RCTH;G39,W<8]M2M?E:K5,MU N M8WPU@]7:>:&)%:IMOIHKI,I"ZX*6[/"[K/PK;W',!:^%\9*3KM&DN[552'G)8JY^L!*]53][K>_= ZC6.[N M>2$]/&PY-I1Q&/H%[^B$X5QGU_!V>W2S^X*W[6O["]OOV1T.:LW *B7+7V/[ MO6[O-Y*]^3<%')B#V2%]80Q?W^K]]AO;*E&8I,P# T:]X1S[W:C C@<@2-V\ MMP?;/CX%ZJ79S#*47;.KO>DP68(Q:O#*R[$&1FX.7Y[F>.J M3]5Z%MINX=O M:0//M9P1Y@6 =N&CX;=4#1X_;#MEPC_#%8XDP\46DA5HSZBQ [J#MW_QRH87 M?JJM%,WS=L<)3\_(Z^( MCJ>.8%!A<_PR NH$I'X>2"X0#4CZ35AX^7A:&I(;_-?>,<+SIN%IR^9D9:<7 M,) <6"'-@;:]S*I(L2VF<#&$X.5G0<.<7N2*HV#3JD.L,T^ FW&X^-" M$88:KFU.G&PGE'=%\ATWU**]H3NI]L>NIFV/8#'-AE7M7QQ]1T70]Q.(1N _ M.'Y<]L]LJ[64L:8&EE8;[?AY:)B-);VQ*'2+A*A9NFFN$[6DVHZ,898> PL3 M3+$[+ 4"MPZWOU"&&9(QA\GJW9\8V;\)FD$!NNR8;74W$IU"H@U4= 0*H'8$$D-0=@5 M5 W84X*](AN3L0JW1WX;Q/Z9 \GT"R$?GX%U#LL 3\YJUT.#[PZ=+MA?? MG^)YNNQ^#MW^OR=KPOKV@>>5I>52I1W?/EK\3D3XP1KRYRUYN?ODFS&&J-S" M1&@;?5D"J).X!NI$7)C>CGQ?!XD_)5 7(M=7/:7OM)=].1;\G8B 0/A/0)@X MMZ0<)=R?E(PXI NO*,$T@)=VU#_V$WZP-"&\/5<,Z(9H@*(MD0.+ZU+@!'M, MXAX_KU%[\CTFYSJ[&Y6[JTXG@\M(2\O9A .%#Q!\1#5.<'+XR/:PM@NLLLU] M^:]9H%&, T1)*L"FV[(TKJ6H[:]S[_-+"%F*RRL\([MRAC?DAKM*G0?5FN@$-*>080V M'MYWDB >O%]8_@G)R_F3X?<3Q^TX2\UH](80XY_,.OY/\ MP%IJ&MJ?SN@Y?B=I^1C:?.T<\+*=+M\_1=\YS_N5V7Y]34ENI6OK-3.OJ(LW M.[U).FW2K:- J!LX&8L"F:)!E+?K'B$Z?:P*413HA-3NAL1I+\L-$>6#%72B M0*B(*QD,\T2!3-$@RMO9I8A.'\SXCP*A(JYW:'/[>*T41*4+[W2=N7$2!3E=2N\C=TW@G&/O82!MVU889;WL-I6[DU.*+;34N=POIW*4L MWH^W_\]-5*-X[T@E;#ZR+[OD/?VL#?RI^S'QWK V>NJ_1 VW'7?@DWP-'EJD MMEV^6MN.;/S*\(:RI0[W]6C[QTJ8\01[50HMWEF.3,UJN:UF=HBSD[=Z.,'^ M3:KC;__^6@NG,(OY9>>FMC(LKM:=,4>I"8'I3+++9KLU[L5A@T[J[C<1XW B M1C#X00LGI/HG# '?O.J_5R?^^VG^.WVY3H$#]J=ZZ&?&)16XR(A M3OEXF5H*,X]*Z&>S8(DZ6WOH31D=+XV"U)C/L4Q&;("-BB W)BP3P]D_VJU^ MQJ7P/XDXW[[JOU?*^N*J#Y7]7S]7VS=7*S5UKTC0VUV( 1+P%8)P^W(B@Y=R MR5Y;YFM6+L=#)*#O?K,,&<-)X@ '_HW,5F0#7+ F$#(!O@X*1W1>2I9Z=;(N MZ (SX:8-L]A(MWO032623.F!@=M?5?'V:_=%BPK\7/<78<#);M M:;L\Q)EX*I\=][KYOK \FZN5Y?*E43$QZY@2GO)P8L[-1M7ED(&'!1Q.Q1(D M=Z*H((*=/T@@CYK:G0=V7LT+C]KRO\5!Q>L8Q*LUW5#JX MX$&%7BNJ"Z.F=H1@YO48CTG,\BX$)>;N-Q,CF4.7#T'2>9/KKZB T2;;Y]/O M;PC+SA&PNEWXRCHN()N=#EQ7LY7U7EW!G&38VP 6& >?P33YM5^;OB0:/7P M0*@[PUHYCY=R#8!I''1J$^1A./L+8:RH7&6(O'9&$.>4N1]34[DRP\^H5C:BM_]PI)U'1#K1/1UMA7KM; M$;7EHVWZJX==K-E-%7R':HE:H(MRSZYV6CYT"^!AU_L[]*U=/@%SM!U?LC#] ML9CN31S5OWXR]P9$;KX4M[21'[[>)4^NG@$$!0!"=0+9TJ(!D">\G!*YA5X? M"O<.I'I<8U7SO5D<9Y*>R.MBI][,GL_=$.7\.F-D&1PG,TV\(;694B.M#UEX MF$3&DG@B1B=/=9R$(."]4Z2H:<:9+JE$;IT1/APJM>J"TJ X2@@RIE:8#6OS MKO[G>/#A@YU2T%CXXR;;--<-:%GEOF.UA"[O?F,*7G$J,DT $R<^JP$P02""?)( M%>H(+/3Z?L032%3&8[4^E9<6WFK1:7S6$)8/O?-=_UE;X]S0A,6O^5:T#= M=G^5["WFK- MFSV2-A7>\6!@X3M< [HE0/@Y-D$$U_D#3((CNI\;$Q4C.\FT MQ(!.6%:_FBC&BS!F $](@.;39(PBWHHJAF\S2_#:6P#5XF93F*N95Q M>3AJY&0[6)B,&-2D3))FW!R=!]-J0!MF8&+?#;2(9 %$6UAK0$A%\

ROS2^A4'CW6!O(YOL]46L5# M%MF/)L"32;;[(-RKPT]V[@;^3_CFOKN;=;>ZS8H^9JS2[#W[9GD#U5@<>;X# MGCD"HKHCR>[W.#1_?LFN)IGQ)2#"WS-G \:_-CJRT%X\^?H:C]ZUH*](&>Y2(=WW("12M?HA5<+?3M&)EOYJ)]H$?D\> MY)U=- >?^PI)W^R4[F'.Z*MM9Y%^(?TZHE]?[_3,W1/?2[V>AZ@_V1X<21:2 MK%)0FSR@0Y@EANV.5N 6#UX?!]).I5 26 M_R/CO26$G^C0Z21[ QHN+UF(/COZI6S[X?^,\ZK7T0%^IS%I6KU4P M@X&Z"L2Y,=,?>/B*=[^3%!FCR#^Z11 EP;\9 S=:*H+PX-QX<+X[AE\ A,F: MK-9[=GJ,Q^6>TS;+*37!-P @, 02#;&LYOVC[3;#)&'<': M;P4YD3)2$)X@/+D9@^XXH."C;,DRZA7>KMY@^<*-H/^R':9O;.L>N$T7ARABZEH,2/R.0DXNRI1%G$&=0'OLW M80U2&L09Q!D$9]%B#;HV<,O7!LY$ W3GYDC>2CLL95-QPE(VPE,IFTWV"D7$ MCJ6Q1"Y9">G2-5.:T)6(0^+=TA4;)#E1(MYWO3_#'XD5HY._;Y\0C]+?SW!* M=]ER^ON:6QN]/+8[&8&-,\K!T_HV* M/$("A 210@)J'PFH(5M9+ M_XE@,?L.9GOC,+8,QBM>V#[](]F&@H):NRBH:D],]"F,L*1W]<1\EN< M4U\DRD#P><8G!8*424+D1886>)H4&#Z3E&A>2(FXG$[2F:0HP0[^(^Q_@0HJ MM9N.VYV['7S)$;NAELIO:N(:">3CEGVR.AX.X[4-NQWDR :9HM,R,^/)\Y84 M(#+Y4BXGXRV%2!>F)5XKQCNP9?)Q2V74Z#0YQO84\$75G!DJE-90Q_'%+ M-C,:RUIMNN#BJZE4P;VJNF/0NG36>[J1K2' M6KNZ[@U4H*^5-UU@.6Y%2:F>U8=SV9\9GSEEM^XI4Z M]*RB+HN*I-/QK-/MSG@"/V^ZD\>3IF>NAEPKUZG(Q:K3L;8=U/2,]DF\"]AD M!J]R^D06%TE;+_"M+&JZ)_Z5L]/636/6![!;,'7/T\[&A[I95N)E$V=JY&B M&^VBY82HK!@>D++N,^UXU(SXE"2U9/IQ!#AS6(:>V8$>+[>6#?S3!?B+9 +# MZJUF*=YGNPVLP.;ZATWJE=GQD.O:9\CE9,"[14:M.B.VJ?:\G#N< M<^5RNT_DRCL#KU":ZR C OU4 M@O3"7--_#G\NH2TWAT\"X/ M;A-T=&X;<2;BS%LX0R6H9XN]1ZRYG=*DHR#A.^5,,M*9^^0,E: CZ^R^8[=> MM*#_!+?_2Q;1UZ+![\=N442".:NP^[4C!7XK7W*D*=]<4]X?4D,GTO3WTI2K MI#Y^R7R^/S)\9EP6GP>'U*05>=SQM>3;@!]7AV%/' X_= MNO5.=<6I6\9](3]%Z-3GT1F+NS]CV5H@NU$JL6;U*#$\FRKCN^L69K-Y;HG1]G)-YQDHWXKAN/:'JJN6$&B !RW*[@ MSM$%4AO82$"$&3B<:L?)X+2A*=@VS];&@S*YL@V.,:KES(QPE9R7O1;]CN[C MOY^ _-9N-E?%JL75@+!6]&ZRM-UT;D7 =9P$?+V]M;A\(SW"57'7)6>0@%2" M(2^E"'GTX-]8,$_,GR@F>0"I9.;#S($HC.@.R/))842!A_(.IG;KM!^? ]-O MBC@ZA9D\1(XM9$-6AWRZE"TD13B>5.C+)37?H^I3NZ9,]>0ZB#RD<3P&;8YK MA!X&IF"$&1?=F'>@6-? #/H^K+=;8\8GF2;7!(UU5>CVAIM4/[[RG,ZXP;4&*6NX MKN9&=/S]%2;>"#=RJ0%R5BF]9O4:-Q^,4W:;ISMA.GB*C"6_FZ^677J*A4B# M&\K\GU]DN_KH'O^+C;$/]NKEMK:?"UP9% MHW9#KKAB5\ZGF4SI_-(I=\EXC5WNU%QV.BHFW=$:0@8J?QC#JN4JXZ\7F_S M>D4P\SZO6 0S5RV"^'J<*97G?9]DO?WA8!#1(/*(?; ]=9Q(\0*XU87.HK-T1WE< M[UC,>EMVX\UVED\'OBP:3\=2Y'/%72-_5N3/BOQ9]V38O*#PP-7FM"%FZ]Q2 M=K5VC>FT["W*0@;OJ2K;:'Z[T@6%VHN 45'#)]%!>]UMI^-72C]S;1&\-99]B M-S5-0WP2S/JS_&ZFK[HS5>@62XUT19R.*+\0B>^@HA@R1F6O\_QY1Y%@#6NW*!%AE!XFI*6K45I<(7%;]HD>^PHE)4#'_60WU2 MP>QQ(;"SSWX.Y*-L[,NG(ZZ2S'MGWL%.B)G. #2UZ49B <)N 49=O]3T-;"U@DGG\HDJ+UN_CSH(.4[\!"= M_XT=_8VH=,9$5$GFB) GQ63"GYW6D]D_?"$1>"@#KFG])(D$'%%07]#)8"*JP7]A"DWPT?0P/:+^)@REC?] M:CS.88$1_OFD\D1O3A3:;[5S7*5>P/*M;CMQR!)ZAR-MMOIL#^NWX$B;!;;9 M8]&8F[U6O5+(]N&'8J69;>8KV3K6Z\,'#;;9[V%_(5;X-;7^OO7'IO M2D!_&78?*^^93A[I7"9![H7>+Z0(1" )3";#IX0,R=/25.:GZ72:IY+$E&! M2DZGA!__')6^X\N:2M!PO2.2=.KD&[@4:5:'R!J5SH#-XZ-,24YME^OXQ<*) MV0S3:I@9?(23U6UY2IG]$9Y;7RJNZ@E03QNJI26+E[?E$=JJ235!Z-^8ST:H;J-!/VX M::JW,@;K:=O$]0PO=K>CIJ;4T)R(L^G;9*&L+GN3'9Q4+C/,$:6)N/"G?U9I M4&86A6W;'-;46GM 5C)2=N .LY?*0L9M:TR%$9QLD'7L48E)LJ9/IJL1@0O*L$19+8DNKU#+,SX5*)*K MDDNJS2G23"C.>NMRV>\]X#>><[1."T6U^O* MIL *H+4<6UI75K=^TS,Z=2UZM59&; &/$ZM.)FM.^]H(T>F<^;5U#TR<:GF% MZV7&*52DG#:V_;>>40HPXY%9WDWK+$F4L_R6-S>5JO_6,SE9UFL+=R"-QQRI M)H>9;6HPIA>HZ;F5#5Z.DN>ZEPIZ9(3)DN5+IJ2U2U MN@SJT]XXS#7SJ,BF45L-M"Q;Y>*;GD;3YB(U(F8Y9<&1I>ZD;S:8T;IPL1BIV,OR4DZ4W+=G1<8#>K9"WO5'IP^LD+_9>V7DOG/-; &:AWW#*3'ND4 MZI\X$^H&9Y=GXDY/<]M"Q>W7K1VQ['4N54-=BX:\H 5)Q9=-L\,W!3(N3<.; M#H]JG)9:_*0*-QBJ[@(M5QU/UA,=M3PC?VVQX!VG%-^I-8XSVT:UNBD/4>_G MT\\5<)-N2;T)%Y^61YON=%RI5ORF9],O*+15U I3A^W)Z^' Q7/5] 95>+TP M?;Q5(QI$GF8%;CNTMR00-$C_"R5>R>$F*=$E4\&'N2+5FRR38]M P8)G(QVH M[;&-CYBYJJ1RTSB0VFFBB=YY-E!O5J@Y.RZ_YO2:U1'9;&^<2:YAR[-Q@L*N MN%QM0(,K55.\6^8]4_%+T9XCBFNH,I%6K+RJ]ZAA)4-L6\LTZOZ,IBQS+;9?SI:I1M$N/ZW5)&2Z\B@_!9VOJP*D[Q'*]QDNT'I==G,DYE8M%CK5Q?#(F,UX6 M7[)F/\7KHU9712W/QUEBN"0[6W"JH(!X/!7GQL/E[!("T>GD)MXN5A1\V;.F MQBJ]HO4R:GGVSI2FNT5YD1RSGJZQ]53:L_35Q7+(I%'C%;NU(]B:SO%+H:.3 M_788P'_:#8UXX+3DDSK/E\L*B_-.7D_*U19> MJF^@TFW53&.>O>="P0YP'>0*<^=^V5\;Z()BH*\?2@9;PA9='/2;7:X9?"@J M+/AUA4_+IUPJ$OQ%:^V21")#1]7<7G#YWZ@$(I6).!-Q)N+,ZSF3CFI3WBEG M(IV).!-QYLUH1D6PIA4(A7M_N^2,Y'*1(R)&!/99=^!,Y'*1(R)&/-&+(OLLFMRYHUW[5\, ME/DS;J2BH\*[2]7QYDLR!ZJ]^\I,1,;;DS%]X=IP1,9(&B,R?F$R!GNXB(P? M8=='5(RH> =4C%0Z$L:(BM^*BI%*1\(84?%;43$X"([(& EC1,5O0L5HE8Z$ M,:+BMZ)B<"P8D3$ZP[O6=;^O10/1U-##__>#_/%.>F02:>*F&O52[MDWYS1$ M*2H.>0DC8?E@8;GMD>,UA"7Y8<+RC<#U];*R%XS;FMK7$ PF$HQ(,"X)1BH2 MC.NL+M]O<4G_$:+RNYO!#[%,OAG.].? !GY&^DB$/DF$;NM:^'@)0K6I3H7G M?1Z#NRJ@BOIX7;D1R[,!/Z@.QYXZ'GCLUJUWJBM.W3+N"_6&PJR1/,H/Z>[S M0VXMD-TH#C_5)+X'#,6TFZ8+G(('X&\R#:!/@D4$GR#75*4+\5PW%M#Z5KK"#V \?M"BZ !?V<5)T]Z$( M2Q?LBY&TY/:^0$D6>;W'0+"+IF=?*,OK>M*:ZLUW$W:[IKC^O"ZJ\PZJ<(2* M9]$X'L-Q_#I5N2,DN0NJ?!J2?+D%\[LCR677>%ZP[2UD0U:'?+I4R'L>EXS, MK--0N'REER)KIK4C1J@N)DF\!C'N+M#R"YZ14&0H">V2:$R(0F&, Z/+C^JI MQE)1L[8V.-D7C6&UTMO5TATH% GB\\Y(_O0%)*+!2Y5[;KZP M?-PYR9_-Z(@&+R>J_";"?L_A-I^W,_BS21")^I_!YX@$D:C_(7R.2/!BU8!( MU+\'GR,2W#^JWYO'\PU^KEN9)-;C=F*XMO]4R'JV3RTI!;0]1 YR?27P-M!1IP8G/G AC- MO&Z.;O)LELOK ]X$[49A6)M!,&)^_$.GKP=&49Q=1)4(BOX<*$*V4']M7HKU MY392?,4W*&[8K+)\?Z+G>1J90QF(0%0$01$$W9PJ7Q&"HHLUD8Y\_HEII".1 M-$14B=:12!HBJD1WLK[5=N^-!XK-5LG;Y8MRDV.VBM"M$>/TKH:V=?Z!(DG$ MR&?W=5_P0A:[]!0+T08SHKM#W[WL[%W1Z.:%HK\R@**@C(/J^G$9(7[:7K74 MUN9K@2.["E@32SU5%N_J)#%5W=6<$RN/[/<2BXW-K,\@TX2(MJ*1(.XVZGN8 1=NSP8HNE(99B"?1;:L(4") N0\G;*0H MD:*\=*WJ[J8>*4JD*-&*\B>:J!^6]CSI1/'X]MM.E,IBF1RB3:WP3DF39(Q M^EE?O'^6^1]7@,S\9]^L"?NV%?$&VOY*_;[2N(Z$:N$YKB)O3W1!]O_W^!"5 M.4C:?Y53T$)__U1<^$(1?INW@:2X6'9F X!8"XG]V9,YH7O+P*J>ML5()H9! M0:9BV!I@P*\U)F&*X9I8%@Y3\F_W-.(<##,J&$OK4AS5TD2@ J 102#&PL8#C 26#_]R^"P7]!<0 VZN)YI4,! M)QA!8PA#".(7UO.F#EAZJ!=VA8PTI(6^P$K %13-@3W/H$3NAX0$ LYA/V@D M_L)>?E#O_J0@)>!L_&&>T>\$W2Z R8]_$I\ ;+\-N"?KPHE*%CS;)P]/\.&" MV#>/5L=:K\V*'2I#L5Y!!16+;RV'L_6Q&=WS=#B\;4NN@2TBG[.7^X.B]M'B MU(<=YC135,.E;\I367(^F]N3-$O2>G)543R5L#H_, #5P8(OAV@ KF>QO@2O M?2@]LJEIOJIB_OH*Q<=%[W%\T5+!UAXBOTEP=\+MH-4RIV;G@,E MS/G[YP<)"OF>63UAFJ>LO0&V-Q&3#T])/O/<625_YS:0%#C:TB$7Y898.=/'QJ5 M%7CTSI#N?L?[IL+4,37/!8\F>L,]'/&&/1R'QKQJ\E@)S76.&]E<__F&N>1KP^:KV><QAB7; RM15R-.TM+^POX>\ONB1$UM?WMKX.POK(/@I>,:OT M*O4=)>?4O.;-"[L%J[8WOY&"[OP_=GL/L,T3^ M"NONYT%OA+/? V?]0+@+&+M7F.Q*4#1THE,T[7J@*_NF%^!VH%<*Z04CDRPC MXCFREY*]$8<*.4.X):X-MW\PMMZ!(?0TW#IHC4;M?=^BQET_GW'MM4K-KCB'$B>!B1,#VX. M;C$)2D&T.GY+H^D1\+T_FOXC$"T^'XP&JWB\QFUS=%TO#HLY3>B<@AB211T. M:RX)VZV? .XY' LOOVX+\%<'I(H[+0AI<5S!P4;+L=OQYW MEJA'6N,/ @[R&;U)G^F*'V9PJHR/E.E,SM\YVJ/K70:"*BUXL@Y('S[Z\0_G M@/V%&B=T?CF^&QD]>?[D#EW@>NQLAM]X8GAC1PB<:$%\1>"%1H_//=$/5[K. M5/1>+WA]TLW?E^X7';:2X7T_#&X+IOMS>N>(Z&>7I10'FPH.-*C@+^#L!+/R@ZU7$>Z;_5*0Y_OI5 MX3\ #/_O7QDFE?GU"8#H#_F5B)CU%2.0?PD$ M-UJAGDRW$+EDJ&W^!5W3UZHY_"72/HB)@5)@?RE_^]_( /)#T# 9JJ#SH$O8 M7O0^>U(?[3MXI>%]>KIR,+QSD,!H%W\(*7(>G1!]Q"G30+ 5I$>HH\,;B@%? MBH@MZ(OP-]PN+\QGRUJ2TXUMVTL79[U5O?,Q;@LX6<7I6380I)9Q/"CBS&/A M7T4?9NNY1GM Z[A@3A8](Y,G"IW9CW_PQ,7$B[>1)\P*_"XQ*/%0Y'.FG/7O MC*=^.?[E<1+_9=FP(U_T8_X3XI=O,<#VH8[T6L5NH!K(WN 2O006W."%9/?- M6P=;0ZW"A."F#%2R_6Q_>T-X5W+YZ)I%"T*K@:A=]+,!P%&@ECU3M@_?5."Z MONFM!>M(A!< D)F<9==8'>!O.WWT]M@3][ M0+$([#]9J=Z3C:1E@,]1S7PF+NV4Z,&<%TW']1T<@=4>I+D)+1&X(SZR4(Y<)/L=N.4OCR@3#U@)0;8;QQ/G1]OQ M&/*P+( 89,+!9,V$[SBR:O[L90*AZ-66B:(Q'4DCB'?L<"<-"AM"R/7*)\>2 MKXT:>_I(\N$DLH@X>QE^V;%.U"J[IL,Q=4;+4/.XGM&ST+@_P]Y_WTHLOJ W M[H8YBYYPG"G."=CL/6W(C1;:$E@=0-"%TH)UD=8DL(H1@) 0>&0?G!#'".(^ MW:4M&#,X7]DV]0\/%7A!M1W;Y;NH>U\KT:>&8J [0X]4^.M:B'FS/.DT"CJO M,M;.)HAYB]&F;XYK" %$.9[,@9D-GY>(%M"2\^O+[27$%Y#+>.(5-*)L9IFL M"I(U0F;-^;99&=8M7*^49M5"I>59*]_@O^!..D@(,F_.;&_??Z.XRYG=U>_F3#D'F[U:6X&KO< M*/EM+Q5/99_8<'Y=A/H"$L)VV:T1SVPJ[#:;[\=[3:(Y:]P!0E4Z=8D:EO-C MM>9)$KV@!VZ%G_WXAWP[0B6PW*M./P4;)6E%J>=]?!+W!D!P>> MOA,:[MS1#W3%TS'8L04,07.W":S_\#-D\]G SV_J9WC5!77?B9_?/G!FHWX, MX"+\G)_DB17A#ER ("DX#OS:@60*,KGNGT,QM@43I5H5;+1W%8%BN4X"N^L\ MJ#$@.M=.+OU5"7DLWG,4J>ZY#@)>1#S_C^GV0F"(.X<*%60Y M\W<\05IC1= P0L#M-DKTU;A:\)E0\BMXXB&H0@Y& &#/\X53$< MB.*&"&*^;OAQ3)JRCS&!ZC2S!=WQU=(!3X\PAJ+NUT#3T'_1W([G)?BYXT-S M!HXO@!$TQ//(E5@8\/+&>)>/#9VX7H0+6CX5PQ-"9[ ?(W84IR9J0+!1].#\ MEZ0X%ER"?OJ.@D<>4>I10!R>H%!^VR?#WT[>%1M"@C\*$L>$!G@CQ/7XC^_9]71?<=D3,< .G[6&<@'B2#%%!9E)^"MA:V MSK[X4R9!/?B+]T-#%,<(1.=_8T=_/X3['0T'Y0 ^(N1)&N#P9Z>9@/>0#)XD$K]1::9=;DRJV;L66?&D^]3Y86OE.98S7<+(QD U.3=5K-,JM<=;[8#.M5Z8: MNU0]4:D9U.1YR).!-QYBW70!,4$['F+EF32""=!*"+!9/[]J(HR86TPJ#V*= ]% ME-_LR#._(/4)_/+#]^K]KS#AH&X%3X_-\S@GR(D&0R7XLZ!2#Z<4Q[.:&NA*;WEKGKO%C) MAX%FE!3P#LCR60FM?>?.'4SM_G):_T8^:GG!JTTSIVI@R5?8W;Z@+8?H/A3J!SNL \?Y^714:;27_4@;[':^GZ] H]":NU\' MV85$^-A??YX]=UK"J?409I[UH\POH*Y+-I-DMU7M<,NZ.J0G;;/K]E#<&;3A M&"J62IV#[L=4KKRRM^0K:%5@L$7(\PK3+T*>>S?^W@X]Y"H0^T6EW M=W._]4;\KJW "_OPO&?;*'W;*_;A]:*6;^+=45E5RN6"V;"'\1*[YI/((J0I M)D92D5?O#KQZ=Z>2G^CVN[NYWQJ.[MLT_#T\XB>M&3XM;ANLKH*%6+76>E7+ M0CQB7H-')PG%/BF-_E>]?C\$?J:*XZP2EK!%=^-UQ?436<@ %5L(TA?6 ;)- M_52%-G LE&C0E/WK[9[AN7"2.R =_=9)!-$%?3_SX>D;_4P]=YVHYS>TB:X8 M<3!V>DD<3*3!>KSJ)VWUW37*+BD39W@.D/8JE#\0MPB>JU?F)T/)>AVYV&KS M+L?$NYU6?$90DN=G_R:27S%=SF_PJ=-W.2O;'ZD,!33;IHN< H>@+_([.MAMQBBSTZ6375;S,U7Q4R=WCGOUI&GDYO" M&;I >DDI!I5N#5? .LD)H%-M&W&!M7L0O*@$0YXKQ;_]K#O/DAT+)H[Y,T?- MKYKNZ#5W>B-!>(T@B"6\,E\LVUNVU.X62GV^UQW83PO""9M]D^=_;UO._C?( M''\_G>&R!!XY9YDCHCK0%,H,AD.'&]8FE51U&Y]4&$A4&L<3%Q*E0:70$.6< M@+:>X83KRW$2)I1%:0H$^R&/M>!&,OXJ&9^WN*R5VC8%;FGP?&'44<':[3PM MXVCI1\4A8]@^[9P#= 49 X*F;9'5#M\*4&YQ2/(@(II(^@SJ +%(CY?2,RP\@2F_$BTX M9I;/@$P,$EL#CE\+#Z4;E##(5,A@$QT;0(*+,8%59&P-@O.$&4 T1XV]1BZ'O?Z/-3"4*CRI1EE"3"/'H1- BU?0&_B.FO87JUT6'DJIHR MN+R;E=J&TS<+Z?4KF0[)?&IH0[@4CMEAV8H(,+AA%[0;[YNU"MV7;6+519LF+IQ'I:R7/QD\2SY+NYVX4J MI/M9.-N(KB^QMD/'&R1>K%2Y7M;F6A[=:R[C:U0CE[C V$!K%+@AF\UL,/-K MM-F*(2H6Y%V0!3 LY".(HNU!149@[!F6H$@/Z^5?BN]C^1MR&V*SYV*&Z<)O M1FRAO&S)\X'ILNWZ52\0.%^X9_-TTE N4;^\4W>E]KEC[()F!RCL8 M\K@IL@(.*;(-U-D?N>]^0S+6.Q-WB@S%/ MVS;(\F[I,*PRY,BEFA;Z%1T"&YT@/FAC_4'B0+[W_,X7I-.\H4GKI))2\O4G M?)%_X-[E>25/*:Y?S..URE33R[K&2N?BZ1G7>5K&W^0?*(*I M[2'G?^@BR'HSM%$\\P\D)>_2.7"G_),J66/=G>TXSBL0M0U8V4S)>X9_ M3S@'CCB%>$"1D7_@OOF>-"I"F>/)F]DN^1?^",N^-QW2MO MU-V"]18IS6$H(J<6LS?Q#Z166T>HU9TDM]2F]5(M7Z_H\^S]^0>"(]^HM,<+ M%2GNVW-RI_"VC!=%DY:HFL>'4TP;_6=O*Q< M4+<.JZCDV7ZJ9?AK@@SJ@>^+LJ+P)N#7:T;C>QC6?F'<^F85JKL#V? S&*M? MB(3X]=D(_5XAN_R[(WST*7$2??-\T_YZ#_PU4X?VRG:YXT@7[[N-#IDE1A\D MOV\$\%&_.VNE<'[%U;C2TMFV%4+T? G$SA#G8NO+WBIB)ES&^S+@-4&N?J< MJ58[[)!C/#'E=I.M9O8F[.QN>FO&K$U2JM=*+5-BF?0JJ8Z_'B>H"V%4 3O3 M?SP[BZ9GA^_NLTI-DC.EGDJ.!XU,(1.7'?8VW.RI]C+?I%LEKK;IF'S<8;2) MZ)^^X DFG7Z"FQD?V"$*P[VMOVK\\;M7J]9F<+ MMV%NJ1(OUKCZ:,0)I+,B=,5,QNELP-Q+B2#^?7[(Y8PU,P]LN2!3<5;(]U.M;#\W[;@G@O"^@O*/M#(G M.(K3LR#U43W-D E(0!X$@CZNM1H?[W)BO-QDR6IAU=@RY=EFW$$>X'/W[Q2] M&K-,!=T$P+*2Y&MK/L\"3>H=(L?CPLM^3VWOD0G %TPXW/$WC-S^L#V]B5V)*7H#J/>H^[>>(&'(YHG<+T46O!N2&0-XW]BOPP +2-=Z#)+!TO"]D]:C]:'UJV,E/\!;WB.% 6ND"' M^. <)0*Y+)<-U5E9N=2PP_8X66#Q=:6HV% NF=]:.0*'GGD8$Z;X@X)BY8_J M^,SDCPR9^KV2UNS24RS_^N:'WY2Y&-'S.V7B[B?(Y\.GYM_8E2#6^F<\2,#1 M25_(F4 #CKS4+G+*!8YJ!T-W=R7L-!%ZL(6>"AJJ>(T4Z='+8MAZKL#V:XCK M>WV2S0"N(>1:IN/_*BR_#7M= =A^7UC^\#+X&@'NYT+2/CN]SPJ[N7AK%$'S M0=!].0]1V/:JI;8V7PL7?0#>J\'W9^,=!&SC0G2KSC4&H) M5"LC/"LI172$0B3("Q??7T'60RR.X%MNEZ0@W(Z%Y=&=,[D" OS)7%A!+#ZP M\MWU.]_'!K)0G^94=MIDE6QG9_*,-3+0.<$1X>,.$']"%4 %=!Q@/&]/(1X< M47UE-72UJ%4Y?.LJGJ>(]>XXV7E)(65E%9SO'*#C49U M$ -\*2I*5C9H/1,0-Z; 70-@O$ZIKKVI^JTK]4]RNS09N.!W?IU.(B;?*_]>?]7^ M2?X5:&:9+F1*?2[N-->SX6:9LSHWXU]1SC727E?8LEM3E"9S7?"&G!_@3+^3 M?PGLTP/=WV%-_N=1'>?GRWU+BF-IPO:GGSWED2%%^;85_!R.#T]0R)@Z+31V M]-J3=\5%H&F_GD@']!FERIXL#(*,M$,>YH#.!'5>C@S]^S\GU=<.28I0<6'3 M_KG/1'1$SG I)^4: ;B07$W?\O[4]#6PM8))Y_*)*A]SLN?AV1&E)\:&M'Y MW]C1WXA*9TQ\7*C]N'9Q^+/3\L7[AR\4F3LRG4DBP9R* $TD4N]E?>#(O)_WWKN9T)U/'TWE3<\#+L/E;> M2SKY",?W1>KC0]TL*_&RB3,UT8M,/U;%]$$3]W&% MRA.KYB770MY< ;A_=/T=B*:@K:A_7^AYX^D./"9HUZ3 7;6!(K$=;(8*>09A M\9Y];P<9=WK+TA+35+$IIH=JB6PNS5D<[^7$[&O3>$#[^0Y)?:=G1DIG,U^ M6J'-;@LKPYZ(/;>HOO;,Z"_7G $40A/S*8[@C<1_'3?Q'Q&__O8I*009XERX M_T7P!9\%*H["UP44SZF;2$W0"^$3J#).#)L! ]B^XU93="6("MCG1 Y=O/L3 M8\3X_6E4> [E>%-'D13!5M!HX:<%RD[GFH=V8","W\7MH$!I["_E;Y2W"CF4 M-048L/^_%/@(Y;V"$*U I9;@,T'T\^)ASERP@S.O1^==<"#^U0CX.S_C'8K^ MA)U#.TXQ$%,@KZ>N_V[T,[,1 7WNH[LO0>RM\_>)/#D_,2C' M(3]0CP_G!>:#.^47ADQQ. )$L(-PP@:!3 HS&X" H6&X\&&*O_93\+^2!45# M0]GG3=P+I?\6])LI% (#.,ZO$Z%]H,=4,%3;LUQQ&PS/,37XG;A-8*6]/H3' M:<&/CFEHBI , 0PJ#A8:!VC]"5*(GPP[%D;90%H"7X#01W30$^9PN]6!V_/W M15@TY99<"";\Q'619Q, 'H%S^#/75IGYF'*W*EG*.\5^O[OR3N,97W^B%KJY MC@_+?)C6=2 AS=&V<$7(&E([N&]W&9B-99V.XZFXQO8X:S&3]5E7+: <,9>. MP] EO6>/PO92'>3[>^[B$(J[@7/2T&W7TU-?4X[!3T!74!;!_5DN$K/]H>_! M*VD&VG'2T1'X.AX<3-!':+0^4 :3O$"7P\N( 92<+?"^"0R[G'GP';!;^-AW M0J,#D"GR@$):0 @%Z%[I@]S[F0ZA#0U;9X,LI42&HH))K(.M3.%2J[U% Z3# M>N\W.EI%X6TH%F/F'0W$\LH%]8$"ET0@8( @ALT*O# M42:.:PF_P/'#8H[F@2#VU#[TSPT?6PN1:KU:M4)$"Q4)7=^%9 _8!L?B/DK] M&ABPP2*&[;<4&-J0'[5QY[;IS>9PZ0AL"'1@=8C*"/L-P%LV-WZE:^:@^W2+M=[ .!%[8.5PYNL R M;?>G3_QW'T'6>FU6[% 9BO4**JA8?&LYG*V/5_>>. >2I\%%O0:VQ?W0]^X* MQW<9]F%O.0V:WC_V#IEQ>3QHK?)M#R_9UCSC[-:,A+)5 ;CV6_#-T 8#'^*8 MN=NXB8#Y>S=YD+A?A*(A6 [XN?_C>";(JQQ. GG"Q, %>^K#/DKL'SJP\3/' MLVOO>]V3))CSN^L1I)*)U+-%S(_<>4==(L&5H2;LJ;3_'$>O_AD< J #ZA>= M[R$K_([W384I7&$\%WRVT_T9X7E#98SC(Y7?K)*18B+.W"-G2#)!4Q%KKLB: MWR^$]B*P_1F%=IZ'D-O08-]/%NT2X%O+0%L!-"W4 ]P(Q"_6I_D4@H6:?<>E M&=]\,IE]B(<+MB\4$0O^0$;BX=SQ8]7NWNH/AM$^%S8('Z9E7Z7*%_$67/X0 M9;J]++RD/Y_K$7YJ7_:V;#Z7[CL$^S8HY'L9]T7\X)3%C\L+V&.AF2M(?;RW M2=-X:Y9R:Z:?_?7"34=(170_^<-AXK:8\+Q7X-LNO[=!@4CEKZGRH2SO17DO MR4^K_T M*;6&Q:8X+STE^<)J56C2OOI?2$1P+?6_@Y7A1"@>PG/"6P2AGPX8 M4F0F1&9"Q3@)X+I8C?'W.78>CO8;3L\W\/#1G8[SJ.I[/9P0]D4ULRNZ--F- M.WVUQ3+=ME>K6C2917C\(XAR/;1T&"L[6!;S!,O(:H>E[44_-YWQ)"H'?-J2 M)5965AR.1VQ\(NSL^6[6T=PL;,D\;KFN%PHTJV\Z7(DM-2OS]:RF6!VX!N"/ M6]HJ)7'SUHYC6TZYF.1&Z3JG9&'+LW&FG>RB*@](0V66O7B_5&;6*Q:U3#YN M64N7Q(4XUH>J;HRY24?/Y$JM#D^?]ZXS@_7(2M4ESANK1IMBZA8Q017JSWK? M3*2LTU&6%JNS6BUC5K9Y8I:%+?>]7^ED8A\/5A04>R!H'B@HCJB9#@J_.3^- M&.365944=!6OK;1.I>F8MMW)_MA'BP IZS[3S@\C):YP=G$NZ\]%E3Z[@V?0 M)CWQ3)-C:+5LX/L3400I5LQ6NM@@6^=8K,%F>UPW"#S^X&#CHW!Y EH*\,F; MB@8^-W4D I@O R@0HXMB'OQ;9'Y2%S2-CSPW?>,\P@-*$9I36_]F*!IF&$+G MS(-H*/0'.J^$WZ$3WQAF Q' 3W"M@!\,X!ZB3M"!LW-(6XW"-]!)NR*!,'AC MZJK3P;]Q")V#Q>R M/U4AFZ81OZ"4=S.5XD'F]G(=!(_XM[T%"YIR@= B8==,8Q:H" JHP=#YNVQJ MBIEXRK8B3\+TH>I, 7S?"H1!J\>HL ]7\U^/8F].;X^']X_A@&QSHZ#XF5"S M?9V!LU.!&[[(LN'WMA(&EX7J+:/0&3\<(D@38<3AQL7?3:*MC*TX?M@L)/!* M$??1^_XDC\H4Q-"6QP:R!OSP'R6HIWO09A_-@E ,_WUPI+*B@1@VAS]#@6;[ MJ!\XLB!F!FX'%-0]"D9S' ^EE[W4[U%(V^-0CS#H!IK=^WBGV,FL(2%=_[ < M$>P!UTX('<13G9!0"09\%,2W@A3=QP\YI@8>J!N&_^SCX,((;DR#;/93PA_" M!(,[RY 6BA/R'V)K$,T4W&H.1OEH]@FD,X@PQGZ(KBU(P2)RAW'_ARL6^]\= M++3<]O!G68$DLL7Y%OD@M9-0U4.;BF%YKN,W()Y^9>-!98LHZ@=%#5]^WU%+ M!V*2O8>D\-VMS9P2=S*SX9:6LTWO)-48:!^4L>CMUQ2:,X;-[BROJI;Z9*6? M:R_E@O;JPJYW?B/DBTG&1FK/"_TJW6=+Y56J[X!D-\U]4';0MTM&O6MXO8EM M]7!0)\L=?+T9SN77ELM .R0?LTY37V!_^<3$B",#['@Q_-LO@0&'>5AWCAON MPZU#_ OBGN Z9ZY_8@$Z7S-$[6PC6'^P.4/&2BWC8(!D#>F8Q;XY\D0(6Q)/ M"Z7.LKWB2C8-D@W9IDK>A4WCY797W32>W#]_"%I[WM%ST;/RQP6S,^::/7]R 0WP.BA[PAZ'\DH*D&DOU), M^5-4OI\H\TA=(W6-R/3Y9'IIF_@5D.KA!/L4E2+AB73L'LCTTH[B*^A8R38= M!\OO8R N:-OK;8#C!?\.8H1?(LM]G:5)$IVH5QW9N7&5+*=88ULI.6[,Z MKSL"_R@HNJ= _*^#3I]/N9?@RC]=?(F2__MQUL_]SYYZ//O71HO\;LF1/SZ, M*/[^?/^'01P0D_JQ#\3OT+):4[SRFO7:JY$K@VFKUD?7 "@(F0P=RURH2/@U ME3V"R:\/DX$!>_^S_S(P^;+M]ANXLS?2@X)W%\"'K@^;=7TA4JR@NFRGFJ[O M4BMTKXE!E5#QV*7*U;]KYT=&?11L>>T]R-993XN&V>%9C]K%XTG"S!&K]>N" M+2-WR'?Q&MW/LGESW^I77"._+Q1>:2LAUC?-P8!.-KB>[&2*0MPSZ-Z,I]%6 M@J:3+ZSF=ZO&$=I],;2[N9?[2Z/=RW57KKDC&"FJ61-F7I5K66)3+D_3GLR@ M# )P1Y!\W8Y@GR[C4M:)D\]1);^7*OG1426_A_<>[EQ'E?P^42Q?<2(85?+[ M8RKY'>E<)D$>'"B72OL]FY/ER5\]>RGO3C)$G(:Z7BU?Q(7:MV=/@GP^/ X- M"(;(B'R*!A)/2YDTGR9(@1>)E$R"I R2]%E.HWIFYX[S=JN+;]="%T^I\V:[ M,;N44:G?WVW[NV$WR[9$ND(7%>>4X50:K>>4[BXZ ML.593B,U5\K/.^MXFV4XV2Q7XMVQS*(L3>G'+1>SCIGORM18!8LRWY(::K>N MH7<2Q..FC9Y3D2;;(L\I>LK:U!Q^TQ4[EY(O+0>UU'Q-LCJ^K?5F]&C0G#3F M:]CRK/NYIB]SZ6J3Q/-$S^BGEWFZ6;B8?"DM[=8+?90?LLR"6A6&C?*07F?Y MY'G+27/2<1[V?$U0E M9J[K"<..RB2Y0:\X=^Q)H\,S%R:_Z78RFJF5\:5=MX6DN+9L8\:GSELFEP-R M*%'XB*TUX@5JG>YVZ-Z:3Y^WM/I;E6#!E,![M9XS7%1UT!O-8,LS,HTFQFH[ M(EV<9:95I3.5.G9C@-YY1B8FY63,R4YA\9Z=G)1VNUFWLNOPF?/>QV.JMZZI\=7!9N(@PZDYWE38V"T]%8C M0ZAZC9#=>B.^ FVH=>1YTRJPCX5\=%PJ6)"NCZ3<]86EB-)F!5]T9J MGG=R X;7@;;TFQYX>N5KW#TP0_N+H+8)-.X>TGI=J#&RH6MCDG?2N++NKLE6 M*PL:6N=3\G0]FVZ/H,\L\&>MB50BO"??8TO(5, JS6*KV\CV*ZWFM2V%W\ZL M=VUY.%2?>2P9%2/8N\(>K0O$S= M"[6!',P!+MJ#NW,_8XUCT65\$3R:CLS5URAD@DHU)1]\D9/)%.1:RY M1]9 .(ON=]\E9R(XNUO.1'!VKZR)X.Q>.1/!V=UR)H*S>V5-!&?WRIDH+=*] M,B9"LRNSYHUW)E[T9?X)E6Y?\AK>2S#&>ZER2$-$$._-0Y0D$O27RD/TBJBB MN0T UH!?S!V,-20@74Q!]%NI!R+U^I/4BWRO=A%D@DY]+^TZS]QU-3O[:^E0 M)"V7I87Z,Z3EW5&5D?A$8',;L*&^F>%W#C:A5?=HYXD_0>]3DYHZ4/9DXO^) M;,7(5KQ&1E@RZ><'^4;ZV 0NUD/!;7\&A'^8!? [(D03WTN&6H>0R#8J+NAB M?TW__HB=^QUDHCDA0CA/5/OP(>83^TOX^^>'@>\])6VZBS4I.!R-R'+9EQ_1 MY>+R$Y$ETJ)(BR(MBK0HTJ)(B^Z,+'>7G/0^J/*]E>CNW'$O[/8.-T49OS^4 M8T?0-'_S]W4=;?P5T4W@]V'J7M\[. HB]RG@/G[3C[=H?T6L?J&'X9OH.J MUDL@90(;9]A5>MGO@-:L\_[T?%VP H8'BK:IHSPQB(1#Q9WG/0<*!;#9C:AY MB-E9QX'C!%)?V%Q(NT5).&EWBX4LJ\0G5#5)9%:TO>:3*'5?*I..I6CJ&JG[ M[M,5N^\G#RK6H,0T$LMU R%ZI=-\_WE!SX&E(SDALUSNYG*@7[6Y2>M9#5>1:#$0%!B4C$\ MYE)58V#47,X/)<0P[2F7G[2J] MGB(4R?SXAT@RL50R%:'(-THY'(%(9*I\/(@0DN%1Y>T6'Q9V_7J[V90*+,IN M1Y H32X32V>>0Y%O$%SPR-W4LR Y!FUW0=FO.Q=ULU=X1 M>*>ZF?$,%V(8J:"33,2IU7H$LPK8(VR)LB^RV MZ]EMK]MF6^(VI1LU7&092EBJ[!30]A!A5^;'/ZE4+)G*1- 514%%R'5GR/6M MK;+7(==*6K*5:J6^Q$%OS7T&N(I*):* .#R68H@(@J[J4HL0*$*@[V4D MO1&!A")5F_;;R@07XL9L7.DE*CIY*YBY5O#R5YC[_9QGO++B[$W#/-1I0>5$::9S7C/% M3NK*@I?R63Z-?%U$C$RE8RGBBA<;O@#&?(%KG%]!+2-(N@=(>F0 IAJK]:2D MS'*XHC E(>Z1(Q,/A>P^M6BOF ? M)6! PFB0J;9E0@H!#&PL8#@@AAG Q?X2/^BD( KYNG8"CJ] @ZM?O/\"1(B. MS2)EB)0A4H8HC"4Z1/[T37Y^;^8U'U^RD.K)5%/HSRS6R_/QXB*KLQ+W 2$L M;&!./GM\7,)+U5E=5:I?M& M_VGHR=*%5;=4,^)J?MHORAYO.T;A SR,KX&>>+4^&*32ILGJ;5!/U[1159.R M$'K\/%!X+$V>'W!\[]"5A\I:EE]9*X8)#F8#R#L72%%(2W2V\_V=K%^ +M%) M1:1%D19%6A1IT3?7HCL_\+MN9.7K3NTR;CW34_OLFA6RR7&OK]1!9]7A"=R/ M%B#H6!*/HI2B:($(/.X-/*X; _DZ\! $H^^NM;K-DOIVE>U:(I%E??#P/0"9 M3(RFSF^O?.DS_Y8[!_;I.7]TR!^=:T;GFM&Y9J0,D3)$RO#G'/(?V8(+SW$5 M>7MG9(L.WSY]T]TT#?/4= X/TIX[1S-G\9Z9&L8G.+E)M_1!34K6.6A&$WZF MUUB2.,^6&)WA?^@ M2W0V$&E1I$61%D6Y1J)<(S<_9[NNO^#A>&V?;D0Q/$C=\/S--)R<;Z@&[?K( M3&4WKBU ?BF&8&_]4&&X-4 SL$U-\S<'+K"!XUZZHEO,;_ED7;(XDDI[N6ZG M5>^@\SK2/^S'F5@F$Z4&N/UA_]UI8X1$]X!$U_4O?"X2X9G\PDX-)X!=NFNC ME >Y>5W.(B3R'1-I*D81ST&1[YCXCRM R?CGOY*R^EW6IQ.(AP%K]\+G/X$? MCZ0!Z+\LTU'08'[: !7D7H./_1E)X-)@'\8Z+IF;:/_^-D0-<)! 3/!<$\,Q'/7[']CQ_E^?+H=1!!H%1Z )E@-^ M[O_X=0UD/:%=\,2?#_SH#RJN"5O3G#1S_^R6H: M9LJ8Z=F8>=!83+ !IIFBX ()LVRH]C8< J88F#L'&)?H)3"(21@4(@'34"XS M%-GB L/%\H(A2$+BL-:=Z5PD8E<7L>F=B5AX\0PS'UUR0DY4S9-@CW X@N;+ M&UK^H#C.GLJ0 MNZ0<4R7XZ@!"*)?'ASF*O9P2#%Q#FF.-A4<* 0P]=*B@U$ M%YO"5Z/.31OS'&$&L+\<#[84',P1-"CGL LX@*..=4LSMP"@5YKA2Z N.)Z% M;F?YW8>=_AV)_2W%7KPSL7\AR\]!^ ^2;9@NYEC0RI(1+:",/19U!-(' 8W JCX*]$X,0P&9I;A@A[1]"M@9F@Q<)!^(H3"G]L MKR!.T-#TXQ9](P.JD6@ZKK.7\D^F9P)[6KU"@Z_IZ; #\?RSX-N/?%E3"9S) M)/$4G4*FC_#/?T\:?L2&_I)U#*W>@N*(FNEX-NC##G(0[-30J)WRF52C 32I MUL/)R:JU'(Q&F2Z9_8$!:/Y:\&6N[8$[.31^Y?[V5D.=GO0;2M#4U"3X93J! M_=^_" ;_56GF6PT6ZV=';"]\M/_/?_\SO>T$SG3J> [W3?P61">X$X?+(]R- MH)-1#.$07#;A7NZU6UP+Z@<_J ['GCH>>.S6K7>J*T[=,NY'>]O>LL5E][,Z M:',7SNS25O>P8XV3@78W!=OFZ_0TO9 V3IOM[8AR8]WRP)++_OB'9!+TV5X5 M@R\3D;F$T/?:9'NS:^ SR9:Q"<$/! -K0N M(J/,G=L 8#KL;0[76$."JU=#L.$J21$Q# F)3^"31U0,K9=6,&AMF\#Z\#US MJ %P!?1_L1=J; V7VH=]T7YU1/LA ZVI-H!&I[]=@C\(U_?C5LX<;K#B@66* M*K["[WU")#Y(?XD/# [RP>"^D2=[0F=HO?_OW?GVDZ_0FZDF_>PAR<@AP6@+ M6V3H96U;,&9^%>(9N^S,/-CSDS(*]8K@/7VY'[3]2 M8"-7^/P7))0%]V<_?3/WT8:.>N1GQ!-4$CYYTJMX\JZX"#3M\;[KY-+4_@W7 MUVD$V\#>4Y8@CV*O C(CCZYUZJGT__V?5SE-C\@9#H#T-X\S*.40J-6X(,/N M?PK:6M@ZX>13F03UL-W=#XWRP\$0G?^-'?W]X$4]&HXN;.)'A RWHG$-R.[/ M\&?[9W9 E?#AF5_WQZ/W'K;P))%@3D6 )A*I^ 6W6U!I(6[^ MJV^*%Q>6%S=[?7_/"Z$#F0L(1@X:(WS64G,JEJ_88/1;[1Q7J1>P?*O;3GSB M5N+-(VVV^G#KTV_!D38+;+/'HC$W>ZUZI9#MPP_%2C/;S%>R=:S7AP\:;+/? MP_X*+3<@_7WKN5T;=A\K[R6=#%P*%3;;;5::)6@!='OE;)>%1@&13E*A=T'8 MGUOIQHX@EY918[UDI=S>S+:5'@K5Y\G'+3.3:KRVU U9+379I6AQ:R?;6//D MA9;;Y%(7AA-1]2P Q,D47TRFJ&7R<4N6;!=*O3&[XY8I992=>4,]W\]""P8_ M>Z=,S(3V-*^S(+.5"MDU,,OR&K8\Z[TR[^#CA6Y8W';"F6Z^8.4H";WSK/=B MFFYRW*13XWJSGJ3W&CVN-5SSR?/>FRMG(K1310D?#AEQV^"ZJ;:.BFJ>M1Q[ M([JED_R4;::]1?/19T\EB MYU8 M;LDEA=-M6JUG@3?I9ORF9XSBA@LE59JH"S4ON<,ESV;Z2K^#FIYQ*LN9/:'* M+DIXS]K1H%T01F)WQA,7&*!+<=/B!)UDP;H^L.NL6]\,UJCIV0#(S3BCS3V^ MIWKK46:5^;C15!NO9)369[,:E62O#-[FM-%RT MJYTE668NJ@G/I=N3TLHP<7TJ+Q>EUJ)2&&9Y^KQE0:SW]6JKN.1:2[=C6]!" M[5X6_@6;KQA6,@O4844VN-V;"O)(LXH\QX MYH+PE]+C9=QI-3EE,JD.BR5QZQ91R[-WQO.S;:^Q(SKJ,%WF5)$5UN5DF7$WG]JV&;9&3:Q\;M40],[ZDI(*&\\L%C2]R@UMJH\O>LF)+G5@R[/> M5:]D-[51=<'5NJIAFI698A6/U?G*;EI6L UHBCEM8/L[L',?;2J>=)51W1[B MNJ[:J;F=E=>%3_/1OG9I/SXPL> VSC\R^?%/)H%A3;:/A9Y/N%9A:+'RE_'G M[ 3VV@O]5W4TPQTZ%,/P& ?M7.$&-]@YHR-'N*,2O6!#/=W"S>Y*\8]8CIK# MQVAO:W@H%RG/_8K W%/G /)TT!+?@S) M_NBSAA2*K[]!/(?IST*._OQVIP[R62"(I^[)7RT\SIZOPG?*4-I MVY-D__G_9^]+FU/7L;6_WU_AVGW/6]U5@>,) SE]=Y4!,\]S\L5E; '&Q@8/ M#/GUKV0; H&080,QB;JJSPY&R-(:'BTM+:WEK63WOK]F"8GPII]D)^IAVU0: MV"82GFO[1TXXUS\0,KSK_?JC(%HZRIQ,CX$Y@SF#.?,BX"@>C6'6A)(U6&DP M9S!G,)R%BS4?3%'YIKG\$^ZUO847MT4#N#=##__O5^S7>R2 I:/TUV8K>^L: MV\?_L74R8L7!BK.K./1;BO/J\I:,)K\V/]?9 M=0GYT/85!4L+EI83TL*< U9#E9$+!:X\.ZS_[=U&-%U;,A3['&D-?;7 R0;> M2Y;0W;@_?[8!?Y=T"W,/3[:!"^=)!<[)R@)"VRBPB_AC1JN5$CE=?(B3207% M+S$HC)2^8Q*GZ@I@[,#8@;'CNV8J>0L[8H]BIE[@8P-A[EC&..+4-+$P@N/A M('8PL;M$_/ &!=ZWXIT(IL'%W=&7C]1D,^ M!TIN(AT/PR,C*#>-*N/MQ]6W'S^;+*]O36Y_Y^&KF=BSZA%MMJU9U#PHERW>Q-RNS7KL>7#CHUK8LLX9LRX M8E5I=[A6S!%)K3Z-U-#%,\[#EEB,O.-BIXHY8]<'WMA@&N#-'98,3 .L'3_, M]9%Y_^7.>VQWX^W(]]^.W.Z"&P8Z8;*$GRP_3:U"M\%]=^U2VGMAL\7;7JX( M O:T4.7G_(Z&XEV^.4<-4VRO8AI\?Y'=J#+3-C3'OIVZN#9MP<)8J.T!I(6.>7T*ZV$=5Y>-_%@&PTXE[/PPF#UAPI^,%G"LTD,/U!_VC2L>'J=WBIT@-B\ M7.R,K%2SITE*)@?!=]"M)ICJQ,]B[!G;I-^'V\AC-@>;PPL.<0[^/Q/CZ4YF']64<# ME%U5J5&^GV@)@CJA@OO$'9(^2F]4&;RO--J@6RNJ%6BC<*\T>' MTUH#^8%),=E)ISQ"L(.LN^0=R9S?N@O!SN)U@\\C%V'.L+\P#%DQKIJ!Z@;( M]MZ,&J'*W/7UR/[A:VT71F>6W-="U2+6*S13JX$F]/JY)V>RH&(K MJ8&@"MJ/">Z.9+E;\@[>@%[AW2JFP;>_%H0E ], :\?WOC3WR7Q!0=T^O-_! M81$AV<_\Z/W*5V0,"LI?'B3W.+(_R:SJN5Q+:4^U:56TIU4C0P]F7N5Q/VE0 M@F7N$A1VIV!XP? 21GCYBJ1!'X 7M9#,K[A4>B"HCP\5KI&T3<8<(7CQ\P;% M*>:.9DZ=W&,7"-[@8!KW3$95H^MS?)J M5 5Z1EF!W,ANGE<<%4W,% M3J_K\R9P,\:0/[/S@_[ [D20+ ,2U*X#R]N*O):Z],DMQ]A8.V4(ZX=8W7+S MW$-W!O<@7EYD-IJX8-J!6X(5C"(81<*)(A_V<5P"11(KFLS.']N@XW8C_&-2 M*!4SQ25"$0ZAR 7"@#%28!I@&GRG;1L6!$P#K P_QX<1')1@+P;V8N#]Q^WN M/Z[JQ0@PX\@.1%P66HVJP>L=E1X5,F8D5XW'X XD[OLQXA>\_WQ+P()Q!.-( M.''DJGZ,UW&DE:PT6"'FU+72HS)J2,5$K*TW$(YXG@SZS2I.?WM787YOFE7= M*>2&_ 6*_TY5OWPH\\2U'76XWA]J>PP@^W3=7*+ 7(]FA.U.81O8I[T)W@4K M67<5:"0.+7-*./ WD%^RJWN2@V)]E>-&I/=S8@!DR;4!^IUJ;:IK+$U75XBQ MM$#? X.0#$>-*,&]);^^QA[GSK'X[0MC2QX#Q=5!;W0*R:ZF."FPA MF'06SCEM3F>NX[VS-GPIQ6TXK)1NREH@O0-Q5>K4!DO'8CMIC:DT)4NIL5;C M%P&@G,_@$!S+!5<)7S_*\\^(9R 9_F\"#)6AW$@S&]QO_M@=&0=?%0QJ*JTB M'O>,+:1&=#!T=C$VXF&?]R1 <)+\"XW5L39OW4S1G\.9O)2*NCC2OPG['$*= MV)!D\SF"EIC[@04D+;*$1/AG9MI>\JA["R!E6( 7?0;+C/?B35-I8)M(6UY, M] LM$NH#%@FS2K'G_^<5K M/,+G_-_N6 ]NU]##__L5^_6>/11+1^GD7V%.^"+#G26P/G#FU1Y; ! 5^,78 M)@0#>38JDB6/_]^_*([\AZ'N_#_VS[UP@ Q6G$!QZ+<4Y]45+QE-QKZ7+B&/ MVUD/B+_T\&&C^)CK;W*=.0<\ABU4@M]U0^/ZSR$ZM/S99 E1H=I0T06+"R8+ MUJ*P[E!P=>=PZ@&F 2Z6<,;JSD%$A?B'<12I]?$.O#%LWO&B)L*FOC37BRVT M9;$BK!^IN!ZQAI-'D_]XAMU-;,@?SH2?PL7%.1+6M*I%ELG.K$L*:7+(-/B) MLR@,&B+KUX?!M6$PW&&X"V%MF+#!75ZO+AHKB5EV7*9BQJNM]7@V#"'<:>9H M8#",U=+ D$SVBJ-*K3190KCC(-Q1=Q2':UOCVM9X1_SURT((M.8#*T4$RP-6 M$ZPF-VQ058Z74_YZRTI-6RNGL!R.28G+S#.R!,P':A0^RXJM/-A/]51^T&Z78\K@CY RI"8H<"5K-PD>U;JMG5'1+7]"<(TYENK@'8J;4:^!26.K#7 M9*_(DU)MQ#1*0UN>I!OA\RE,>O5' V PSB#QE MEX589ZKW)ZJ5CAD-?&IAR%FUT]D'E.-%(K@K)8:[1#*N"R=&RZBVK)NV M:X':$(D;,&ROTR;*H@"4M&D[]J8, 5#JTGJ*+.3#+&AQWJ7C?;H]%DH)IM!] M&D.=%.1,VH:^5,>^_-QUWTG%G 2SD!?T&148)HY?FF$$GQ M+2%#I&N5NE!M\>U"K;J])XES#^X-58!?J6AE <'6V29F$EJRU!F4,T(UO$R# M-$G%B'*[4+\C(/'E,2&YSMCTTQ.B[U,FA'3",8F1!;=RP25 MK/KI"KU%!'YE;0, @C2'AX^\!00^WSEG)J0E?!]\!M<20O%2;L(_=G:*4?\* ML?]?7M?]<=D$ZFXJ*8 8K G5MEV4;]& Q U2+*+N#).8FA9*E A9>/ZUC+?% MVG '#6S+$9N2,0*>'P-]JD@K=>I.7T1CU'7)J$*$V,9RE$UCU ;6M&"@>\-P MJ4(M@A\U4RM#[5L15BBY*]V2I6YM,MYS=D1B'U@0GW%F%XEXRT+C1KB36A] M$8\XM*D#ZQ> Y31!0.W1UI[#]<-]I,)76Q !X+(9BY!K0F-J7XT! >.^G7MH)@J'N",02*.* M&$O*%9C_*>:NEV;#K";5A$9G\Z!G+D?]2G+YY60LAWEL5T? MBDMRO%X)H,S0#>E)=R:/(PC=T?B;/+; 5%*1I45(FW>A67I,]D#A&)N),V$K M?4Y["7WK-]Q8^+'G)XXY\SZ&>]GPF+X-]WF6&P*LT-](]5 .6C]A+5Q$; !Y M:8SNB!$P@"7I/G1+RA1R%,*]EQAJ\]M -U%6W""-K2.M-BEK)=LVT2("N_4O M*;XV$'^)>#F.W0[WWK:3<^)"EAW4ZYUTM\?53O#'U$;"?6C+/6.M[N8+1=:W7AKM^'GZ-K)12;K0++0'GW\CZ+:,UU:WWL[ MKA@CAI"%]_+^E+:6T' MDX\GH\S&_W&_]7,P7F@&HO-?Q,[?B$H'3$29CG<(N9?L./C9?K[CS<,W$M7M MR"!-1;E]$6#A"G8H Q??:WBL8I[Y]5^)&%L(J?[5-N6C2H;^ADH C0-]K[)* M\.C7;P][D%64-KULT?96HZ1KK3@?3R56JZ+K7:JI4+&;X-/V0+5;Z:+O!EHM6&#RI"M=TB_IW> /Q_OGIN M!P+UF<(\)V#WI?(>Z.2.SB6C]$;HT0(I H8$'"4-1$IB:9&-,9*8! HKQ@8D M7/VYI!P'U"]?CJ6-3R[Y8#:UEBCG!=4:I&*I="NV=&T.((M#]Y>BW?3>ESE>T*O M/!.H6I_*IK@E;'GP]K%59N<#1A'(GC%@K&*AW;=T=#'PX.T3*1/7"+0_>OIC$E7RI6Q\((/8P8X;SECAY1'WNOUVDN.%024J2.& I MR*M$DA43<38IDD.98P82Q\2X@[Y;MINBNW.E(7#N4I/HEK1RLHUCO&H8>7)5 M HDV&:D5*L:\%'M^OE[/Q06O M=&KQ%?_4Z#8&((8D)7G JQ@TFROS?$ZH31;U%.GDRTX!M:0.![I>K]2%V%YW M0+:?3ML]NSFP1JCI@01P,ADWI\-Z7I.*G5S:;DN-@3DZ)G_F)%U9@@&?[DS' M-2ZIF!FSW^)ARX/93]*&VARQ*DW6XHD*V4E7'U8V:GDPI[:53"B:,4D+M4%L M.LL:CYWL$$G_X9Q,^C&?M8;)@@#H(IMSQG0RXJ*!'LXIMM+ 2E#EKC;M3_6Q M*"K).&@ MRL1XV/* H_Q#U10X1I'(UJIF6NN!TFW649\'LY=;C[;A/LT*6IKK4G'>6BNE M"1HG=3#07(?*987)$FAST:A/IZ-"1M&]I@>$XB1%X,L%IZ=Q17.FD8QC/(V0 MIE+,RZ;53M].L&2M+_18OD=9J]*#._=ZY5XVC42F'6FT7K?)>6E8:%6F-5HN M\F+LD*;5_I.Y96>=7:I-K5>N,45T)>: IF)2'TXR3M,F>QU>G\OUBL@E MEK#E :72.7/5' BYI18QDR.R-WYLK/*HS\/I-[/3_F107!1CB7MH MHDX/Y<3.Y?26T!S.!+4Q$3BNF3&Y<4/D#N?D/#+39;LN9(16UDBES,PTFWL: MP98'9!%+0_EI!A?MU*QQU*R4TO5QL-IL;F*Z%[3 M T*MR_1H D DILUSX\&T)X\>!Q.OZ8&4?.@W8\F"DCQ7>23^FU(G&/62H5G((P<)"+0]'FG;L M7,)9@%X'E"OB,I>PA"4$WN3+D4+-EYDD25(B4 "$99EB14F!)I <8YAX$@QD MB-H'ZZ3:LX:E05PBZ9S#YV.Q86)>.;ZB%I(/S>2 K'1*D58]+LGSZN#AJ/5C M]=;%J@BQ5.-*Y7@VX737F=%1ZZ>?D-,/LTG>$-93[8F,=^/]=GEY;/5),8HV M%IQQ2E#'"IM>6((FR_PQZV>NS1>-QKKLDJVB!":#-J]7ND=MFO4Z]J#1]4ZU MLWYBM!F_:-@E.L@"\P*I6BNI87*+EC:/])OK/K,L%O,-/X'"?DN7M=V2FLKR M'3?"TH/.@%TVTJ-C.,ER_1X]E\P8V930'.M MQ7I9 U .6TO(HP-ZCMRY*W*J.26GLWZ9K;F3\4A"E#]XNRTNB]D::%?(=-I) MMOGJ0[<\/FKUE$J9R /WL%Z0$I-3BPFI6H_11RV$=(5IFO7\VNU(7(JJY=2U M93\>M5"?-&6ES+15M[,N2>NN.FHG9NKHF(5J4B/IB>-MI4'Y8*NBR)4H1, _XA3H[F->L)V1*) _D42XOL"-!#8=[I:VVX1D*+RS,E M#C8'0Z/%LHGJ4-(DP+O#,I@6DGVOZ0%*:1ES[,YG\7JG]5 !3&XQL W 'Y.[ M)4BL)8F>3[5:<@7$SL*J:^SRF"W]."CRIOE8'I,E?>5FYNFB79F-#FQI1%%C MUNY2CVRF$QE0RP3W:$[R>?Z8A&IUT6A&T&D4R8RR M#8A@G31/M2)#AUO2.<^2.*#30^=Q[IKF\E%;YQ^4C/+8Z9R]LC,+(',D*UY MS:FY,E]Z]*:TI9.ZN@^"@(R/9'!GHQ!'Y_DW7\JXF(P^[=TG9B]GWCA)L!_[C15 @SY8,Y@R&LW"QY@Q%Y-ZRH,-RI'SM:TFG0>76J?+^0G.O M48A)1A/<]ZJ<=.':^E<&]*ZL'E[N>KW]OKJ*O7X2FE,BI37R4[FO14 ?.<6!2@/ 0](NX!A?R0-0;^I =2>S3*?T\- 0S,9('Z#T M+M?)TO1'(9L28;M3V'SMQ5FZUHD8SH &7HX/E-3#\P#1!:UF"E"2]GL T03LY@&R"T MK,%P%EK., G,F5!RAHRR6&G"R1H,9Z'E#/8WAY,Q$,WP(4VXKW6^>9#VQ:$P M!YQU\?3MT]<5$-^_@+57288]YH"\ &C_J73+LR.XK]JFR6T#H6-Z #]WI]I3 B(SG!YZRD!N+5E707$/6-M'FBAB7M M;4G#P(2!"0,3!J:;ES0JFOAF^XN7DD8(*V#)JAV(6-U292Q8UQ"L[Y8, M-@-D\&R3[-Y.8<[FWL3Y&H['QH5 )LZ?U>##9:8I>GN[<%-GVJO;W%[/_$+3 MFZ?-;<%USP,6E)FFS8(Q'C,12>BEVHN&48MS#]G1WHU$^AIEIH6Y"X6F8, Q MNEZ&_IHS!E9[+!F!IZYJ&@LX Q 4I#YRHW&14EJ3]>11ZJBZJ8_JM4E=2@>E M2:AD+'HJ@\(?NI"QBAZ-Q N!AI[_'K,?R1:"J9T-?#+J0E6 =\!1/M'M'/T#* M,)%;8'(?&LS3 MK."D-$"1-C?M)D97U#8A 46NN8R-R0.Z]:B@T.PVR*LX&E+ N3$N4 MW&2[O2G*O1:'A@*=B%XD]QI61VPHW#K07,50^!.H^3#2#-Y&FL$K2/-')D$F MDFLY0V=6@B:!DEET.D,5U+VBR.2OWPP7Y?!FY9H8A.+L0Z"HY\<@/TX]!%/# M&'1A:^<%"FT.';SCAB, U&/SK?PDW4]V0+>_KB0+7-.B/0!B?OU.)J*Q! :@ M:P)0*)3T(O@3#N_]U^6?_0$[K>U)TKZY\[SCXCOSA%-UTG&M->J(0)\M4ES) M*[&,LMO&[EB.CIX"G%N(GW]#HS821E"T]T+/3 3*=PB"?SFU$W#J_^@Y(=DU M73ZW#SD?\.^\D<#P,[[:^-3H.PUAV>RDTQ'M,5<0^J-%&(^*/-6R"T8=LLE4 MCL#1TL@5NYK*IDBW:E:+2[:2K4U&?G%VEHYRES-]?KJ=&@[+MQB#B4,EH#&/.CUW\ MT90I^A_,;[S&W-(:@\7V_#[HVQ?;MQ*C8+'];F+[XTGP5O:,\(G\]PS+?NF& M2J,#6@L:ZG]O#D/.YVT+UQ'&C3C@0B M9RH'\RT<Z&!QG1(-2MD<]Y>BC'/(9>(TA[\JX-29]Q MY6G6S&I;Y:)&YGJ/C?1#*C4S[!'$*A3-S9#1(Z7P,%AARR)DEL7K80:57+(\ M7O?7%2$]R*O3$3UG>.4/COG0"PJV[0(%#ABRP3<"_-P-.V^WMTIYQ#X8);A! MUT@\6D)ZFI'3B]E#.]M']D'\U^_8D<@!;!Y@\P";!U]B'OP)L%S<1#BK(9 Q MEK*<[#P]:)&X.^XMK%RV#9 A@&*XXV24QC'<.(8;QW#_#%AZ=Q""_08V;2#I MM7"#MP*[)P.-KLWCCXQ6*O* 3SPN.+;=0*C$_/I-Q>/1&(-A"4=VX\CN\Q?[ M#ND&[ ^-I0- :IN.I+\9\JW,[2Q-L]234.*:U?AC+>^DUVC+AD*^J3LF%HN> M J)O&/&=-:TA4/WSJ)EJX=CO:SJ(PIL'[!:\13=\#K75NIH5J-V)U]WN:=0A M,'W&"64QVG@Y;CU"8_%Q46UHP_A#;;Z$B(5.H^)0B\9./_/&K]"!E^?\6@6BHSF3AOSM-!;E:Q(LI+*"U(#(AOR:'*Q:.*" M'DT,;=@ZN8)U\GKLAUDIS-..;M<[ZE.C:*6[^:RI?5WLQWNRJ:=;;>ZIT.G88U$29T,.02A_Z!3YBK'^H9L[!K%0Y7-/YT9*Q@#++CF= MU->J.)M-:U4/P5 ^=S::P CV]5'_H5/B*UX+"-W++YY.\!R5X]9 MV0*+CDLVA/&RXW1FW C!%8=2,-^QR424NO'K 3 A&P,H0@NOD6B(0%Y>O#GF^!1E\>,WT+1,+*]/7!U+= MHR^/Q+X%(F%EPB':MQ"B?3TB[;J,9%-'WWH>J<]1CJ&C\1 FG J."23D6'TM MEIOXM_2C\B-NWI.&\QI8*NPW#_0%0'-%[Y ,.W*4TM\VG>(WI.)7I&[\AF2\ M%97&09 X"/+:";#0FOIJ$.1L+57*%)UWA'FNORZ*6C-7T99B$@=!AFA)#9VV MXB#(VTPZA!0CM!:C'J@7[&JKR4- PQ&1."(21T2& M$-&^9T3DZS#V5D1D)!?7Q:>*D.H =5*:S2+507\U0@B&(R)Q1"2.B,01D1>_ MD[(#7OL1D=21+60E1^9)ZZ&L"4!ZI#A^8=;:IF=Q?2 D\F\'O>SW?Q5U\:"K@MA-:']N3BT0-BR'86O>7 $NC2SP?WFCW\N@/.!'[U!171I;;K._5!= 667UL,1G8"PQ $">4<(^[CX J)>]7Q^<+3^)]0/'!346]U_ MLO3I'#SZ];L]!L0R,! (R;<0" M,)=6 @_+ !JF,*^F$ ZPIP@#"OR\&!PEA MA#!]E254FY!F,\M<04!P@+XF-HN@KWA5=PI'*7]D+UEJU06YP209P:+D'0Q$;R/>*:ZV!9)T;A+K>+'E#$58S@#(*M$WTZ'7#JKFA6OJ9:&U( M,\J'JJID62+IVCFK,99Z IV8=%(U09>KS>7UV1Y#D!@8*7L,NOI(",0[.[H= MS0$DOQS?U7B[BJ2DDZ_-,">!/E?#6._@E7,'<8-:$Y$V;D&SX M+YP2T=] M8$NW8Q_]\:[WY%T:S)DOY,S)>'[,F2_C3#R*=2:T.'#G1SGZVZOLKH>1 MV'4L$H%GD?#4]E07_QU8?_]^LQ7LL;/QUOE.RGT\N)BQ>^OK]2?%]AO)Z.;@ MA0A.7LXDD=L#G#/U=U1[_!J:EUGZ0G6KZF6%VV:+M\^V8N% H:.@%RH!.%<@ MD+=##L',;B7,Y],U/)@/A/AL8XF M5!E:_H]>YL@_$@'$/L6[.DTQA4YOW&SI3^6A^ 26B%Z_?L,-!QN+72AB,217 MYTX7Q?Z)R'0+@/T%L/8YP_73@0WGK$#\SJ"?B\&2;[9E32MXA-I16P2B.A5# M,F+C.5GK-O*1C)'NIUL-2 KNI*#!E8)"U=&/!^+U2NOF\)W?VCZ[E<0C?U\/AD*N.Q4I\.ECK9:L72Y SN89[Z(?2O'/&? M&$IWQK9LQ=;<-*DFDS+7;B\;8@S[3T*-0S\$S?0%1%=7D.7TRRH4)8J>;ZXG>?>XE(S MZL]#"CQRG_'B5N=)T/(W!BW[]!:[NW?ALH@M\ MO &;>$9Q<+#:1JK1AO1(Z;"]O[;E(#+,Q#65EW6WT'5(E4NV3'O)-1+3( F$ M:KAP]71.-Q7IE_>CVH=7B;Q[1K;'5N^&(>+QS!LO%"E#\;\(S/B->*#+E*:+ M_K^M /-.*;U[>6'IB.\0/@JFZ OE6Q1!)=!O"4J^SP4M%M+H9 D-' 7\=9'S MS,E*/Y@SF#.8,_N<2423'.9,&#F#=09S!G,&H]GWX S6&?.DYD>$7KR![9@&/X,& M;UE?/X$&WTL.MJD%*.JSB6W86#3!A?J.Q8?3#?AA)X07=^('>^ MS1^L,F&CX?LI]AS$LA-/%/&"?(CT-HCE;/D^OJ4*OC.[!_G%U9K/KFU>F2T" MU=DB4*$MPBO\@$4%B\JAJ+PSI'_F6D#L%GL/KO;0=86U4VX4%QUMS3E'8_II MD8JAL$G:"X_\="&FW6#%3:SE.3JK&9O(S&M'=2ZT:;QR M8D-[T;8,%IM]L5'<0DFI=T&S(RT254MG(GPKR=^:V'C1L1<5'!8+SK[@U/2G M'D52JP&I-B(+ !I@$!_>'-Z@6U3DD0M4;SWX"]L\V.;!-H_767MI?A$&18IK M^I&-D&5-*H-6;+5*DF,JI(M7+E5) M#?M@5?J"W*.%^8@1G6EIVF^+C5L3FQ]K\WR=X,Q6Y=*\:-22G?DZS59TTUH6 MIR&U>4X(#K1YZ&.WQK'1@XT>;/2\$X3&%OBJK51%)K99*):3F3R]29O7'KDN3 MT[$&Y/JD8.;Z#<1<]H>:/U\H./I3C:X\-OA%!W2>6D6YJ(/B^/8$Y\=:/U^) M.:11*9;GF6F'7I>:G8(&)MGZ#8H.VS1=&[34!O%1@ EBO4P,[8G#FZ><(8/.N&D4);MA/77FDS35MAJ] M])Q"A9ZIV*_?L;MDG#X!G;>0_.4#AP,#A:Y#;R>%S38OXY$+]S!K ) M2?#. ';C$ZX)J8_B]HZ,L9>S4S$682RZ)5<^EEW=MY$+%^8KW"&;'>T M;B:GCTJBN^Y$&I.A(':[Y5&!A^MU\M=OZHZD\'J-\0_CWZWA7ZBO27!=T WLAHD MU)PAK1I^^D#V+L'BJ! ,8C\3Q'#$/1;T'R'H%]WG1#Z1 M["13)->83MMQ:MJ?-7EH(7C^?9HZ%?QT4PB!@1,#)P;.$!\,O)VG*V30V9W. MC#I=&^6U7G6N]IO4<.!&$'3Z!P-X=X5C[G',_<_!SE!G^0D9=*[4:DDN=A:D MUJHTXH]*EQ?DE@>=L5^_DW=<\LV8^[\=:: #/]\/$A75<"6_W870;D?Z)RYD MX7!] @#?"7E?--2,:T$)))PQ((:J93O$W)4L**6$.?0.,NZ(YU)[LYU2>P/$ M - M4%3=*9R:?-PO3(G/0=B,R%PL"!O]\H5^>0U\[RM0-A-#PY3$A.3<6=QN MF=57S*3V";:?R+CFR8)@%*C'L;V>=-SNM,BIS:>Z0/''DZW]%26\DP?(NN=A M$\!'><("LCDR("A!%8<6CH*$.'[Z;;JK:6<]8D,G<2165T4KMW,![]#3N_(PS@:3I\/@2J Q79 MOB.6DDW\[Z5._VY0#G;,J]C7Z+ZGC[L]!397+!=R.X(BL MS(T'N=J:3.__ MPO]L>I)UJ"-H5S;^1U'MF2ZM[SU;,WCY)OYTN]=71 :Z_L_I?--^#Y>G[7[>:(I^WLD%NSDJ[I/.(]3.?_]G=WK/^].( M;.JF=;_)B+U#SF M+=A'4%[T@*2%I&&\/7WDKZ4UG8P^7CRN=;(_3:I-J(X M@R/(SH8.O?!SS;/+)\JP4/3]FS;>POX8/N" MBX$,..;LGJ:BW+X(L%0T?B@#%_>^>*QBGOGU7XF 6 ^Q]5]M4S[JF4%_0WV& MD*#_LYL8/'CTZW<;"2G"_S2":@@T6QV2KK5S^7 Z\W:MGNH4RADB76O6H]NT MKR$<:;76%EI$NP9'6LT(U9: QEQMUB)QGJXZM39\FB:Q>-!]3%BI7=="2F\DDZ21FHE!R<\LT M8$",[:/<5@DV%P4M9Y8ZCZ!6)ID\2N;"OFSIJ ]EI=MP]0Z@^KVB M,94GQ0K*79!XV5+F9V21%A66A ;-:EC)#W.)[B9!S'Y3H5)Y (LT*6I<3$@^ M/(UK*XM$X9X' \TS@P&767;R6BF[7&9;%&F[?70YZ&"@=:>SMI\Z-8;,/7'\ MP[0[&CVU41#]P4!7]=Y:DZVV0[;DAV6M,FXO)),/PNWWFZ8*W:J4&W1Z6DGF MFI$!-TB;D9$8.T)[D%T]CE+-%-DKJ4)$B*0 GVP$]7?W6I:L1*+:G9=D8=KK M]?)Z=VIWYDO8\D!('CO]9DXL-?E.SRX^S;F^-!AET-NW0O+"UO!_.!#CO$O' M^W1[+)023*'[-(YP"L6+J"E]E17_J#751MX@2;6(!8HE0]AONM:.(T@B8',- M."^]0%O7#USZ@VT?35(QHMPNU+T=@P(@@L!5$C6QD=])(BIH52'2DJ6;A*WZ M^QIH3!+>&$Q=-Y=>.PL0&E@3JC%S'1O^XW6^^UO)D/2UK=K(]B8DSXK?#@P]]/KTO+;7J@MQ@DHS@9C10F(FU>6^TW+/PY3%07!W4 MAN\SY%'HGK\)L&UWZC_SEM\V'%)*A]L3WT;/0>-J)BZXN;'FYNNYUAM6'(K* M3)L#KO&+ -"@G\$1.)8+ODZ&/F.1>_;PUHKTRZM "U*79C:XW_RQ.S)D= 6# M0@N%[%LH^R;>SIE(8-^1!W:98VW>NIFB/X=/']1P;#0>/W718V>UVWDE\I8, MHV25\_$:0^<"*XN^/X MPT-3,HDY@SF#.?-^SL2C2:;L04O,1?FS)^GWGC3I?D3KA:\M:F[+1J\O^[Y:_1( M1LG$]ZJ$[F=O&9Q'6$Z#VA<+RZ>/Z[$&G56#J&^G0 Q6H$LJT,FM!=:?V]?^Q;QC( M\O[[QI^/Y_K,;=OXU.@[#6'9[*33$>TQ5Q#ZH\7Q:T%(A\]R_6.;Y&TG2JP) MII)J0#[LH,?F?D<0HZ@EE\WNX*F@D.M6)#;.=4%A.AN)-,K_=D+0?OTFZ"@J M&1@(U?Y]H;,M4F$0LE#I'H:DUZU?3)5#KW88:'(1E'YQ ?@S*#WA"^51MDE5 M!&[98!+KDCFWZGPH4;H%>B[3[,=TC=;6S' J)FM=90E1.HY1.H2*A^$(4P6# M-*I]NP/2]*= NIFIN47=2JE:J34:TCV+MA_[X32E.3(V[I>'_*23FQNM9EZ< M2$P<@31%O0.EXQBE/Z=YMW"&^;9_IZG:&C&T "!4Y!F$ND! 70+X: 4?+YW5 M;7/[*>$^G3/H@HZ=YSP?[#O2? 3O./,"!0$D"_&C$,!'$Z+'048?N$IEFJ:V MY$V:U'K#92;5&C0F:YY'=$&)/)@+9:2\\(G#V_CZ%T81?,YX-HO]!Z/H!1TO M-X2BQ?R\F8_I<;.S?IP-5B6SK,L]A*)Q+QW2A7*B?Q,4_?$(@DGPPT'T@HZ1 M&P+1N;Y,=%F^,1:X8G,1(S/+R+SO?V?Z"\IFBX&^!YU7(?=U2C*Z5&9#K7 MG18#25,BAW M&?/K-QD]DM3X1AWPUW2)8/C!1YUA/.H,.R)_;U_*>Q&YD#/ DC<>QIV>P%'U MPF.I,ZZ@S(]QC,@8>C @8T#&?IGKFLC=TD/:S91L@4L_I>-*8Z7%ALA$1GZ9 M'XO(WR/.1+ =*&U^*M^]U+U>3E_)\3/E$@J.0[F9.)3K%!R\\5 2'_^\ M C0V D];G(W3RN."J;D"I]?U>1.X&6/(A\"=GL U-Y>GM1<*@]$/,YFXK7[&J95*WU8TQ[$N?N.D DKQ0=[YQHYU6THJY5 MF^B]R99VM7AF 2]M*/P%144)(M5I%:I"JT6D:Y54H7EN:MZE>4'@9C!]ZDV(7E5O&:2Y6RJBIG&R$3MX'($$7ZT)AR3&%GF MTOL259>6C+57L0NL9N@?]-AW81+>6ADE!$D>$Q)ZH9^YE1A+-C$ P( /9=/U M*H!Y1<'0ZS?#05UOQ#XH5\:WTD2"C-T1B(PT^<]&08@=#;&CWI?4/P2_\T(O MJZQ7",UV;&()+'#MVLBOJ?P'RQ*?P(:=^3;]Z:;1;(^6#U9F?6!-9OP#.9U$ MAEQ^5&N6ICPZ48B]6C[8X_&EJ?9BUQFO+):/.764(E65RTD1EQZV:U]&-;-< MS'%IZZFAM0K*Z''2[:2^P'?@/,OEL#P9FP JTZVO -=Q8 M6C.(32%R@HK=!:4,E\#'/ N2$TF !"'6)R?Z!'F,#OX<5=(]+NGH=0CSH#$A MHX>J80>E%I\A,65) VCLH=J+*JJQ"+FD!VUVX1488U0^W(=BN&S: !6+APRO MFI8S1N48(9\-R2_A.'.A%$(;'S949>_\Z6(Z3HM4; N-SQ\V.YZ-=NX(_+8( M?##S8!=4>XS$:[7Z+-Y9N\F&T1XO]&2_<4Y82$-9A_SQ!]Z&>QA[""S(2>HH M,"Q)8\J6BZ4"J49BHE*N2"VS,/KU.W:B&KM7;G/H>D@P6!.R9(\);VE$*@O_ MOT0RLBD,__-XDC--90DIQ0@I9HQ_J);-HL#E9[-DA&<33\TE4KC#RT(A [WP M$U+( L](ZM?C,6FEJ5VZ8T":E;P7V+E&F^$:04(:=F%-/U'> <&:9 MBBLC\QXIA2Q#430M%8Y\BY#U="$ 1K1/@#CJK D%6?CJP#V R+&WJ_85'"*N M_TZXF4;A15 NX6<$GSYB*O ;."^9F*&D-TAUH*4(QZ; 'UEP*_+__D5QY#^W M J'IK3%=V%)WT[XNJX$"K\9,.I/)<-I^X,=U8752(5(I-85 M:6)::1VN*7L'A^F ),U=B@3]YITAI95CC20I%3H=)L.,JJO966W(YA9F"IZ1 M/U2E[9 WBL8;2AD^1M(&US7O&'%W?L>=;^-6>S7/F*NUEHO$5YF26"5CBJ=\ M)PP=A'UH8?/]\E @I 7$X1$@X*HW='5"5X< >;W_/"=YB)B<8]=:/0L0W+N^DNM]&P0KS62 M&F"=L3P0$^EV#&[)*9KPZB6\//H+LYVY&PT_]/X7*H#<&_W1L?(V6FLL)8+. M=M:$:?G9#9%-B"+/?2GR7,I#J,HZTN [0@:6(Z'MM+2"MBMR2F^-5RA-P#\8 MWP$Z%-*!@SI "KC%Z)EI.Q%T?HE^98&%"I:;'P1>;/@#!>--=S3V MND29$6!? !U230]*>VR=Z3JDF0$\P85SUW5SZNS8PUJMM@E[]^L[%C5N^']B%; MN_B'\N;#&Y!./-M4!]/R0$BS#Y,D&:BU,D32.SA.<-0O7!!BM[& M#&[8A]:FP9Y@'Z'XWNX#$=_QW37>LA$L;O8:KC0CY.H!P?7 ;=?^@NRO;].9 M92Z"P]G U;T3PR$-X:KNKTL[KXP2=0N*H 7)1$B^QJ$FE]X"5<9CI3X=+'6R MU8JER5E#6#[U_QS,=K2U'J!\'8$\#Y=EV5/[#6\V]RS;TBH#D%O-LV"G*.CD MJ(8-A6K1R"3S;F?^%*?H^#(;F3=Y+^+H,)'@12,C]DG)B-SP<9D5E22KT95^ MS93:?:W/_?F9Y^5(23+3YLN01IEH:5D:)G3 M?0W:FIA_&E]QAY3QA;HIV^EY84FJ(2-[$MG T*: 1BP(PB .(A>]:LX[5:ME M'5J+*")U_(^BVC-=6M]["A^ RJ8<(H/P9 H_!U!$1ID8?+)?UGJGV[V^(C+0 M]7]>"8*]1F'L5TLI;J!R)\R:2AP6OT;__9^]6M_;[4M$-G73NM\4B=PA9S MVHO?'8&(7TK#B7D&/ M5.J;T3T9:K;6%%M&NP9%6,T*U): Q5UNU M=ER65 75DO@G8Y;E4&D/R5Y4VV( M]&'+G&RE4VG>C'1:"=UY>*S%R!J'6L9>MLS6>YSI@@==B%2SBX/YO5.VLR69I2J6#S5$-G#EM5DT6(X=]867"TY?A@-E)Q;Y&'+ M@W&NZE*_T\QVTQI7JPPCM28?!TO4\G"<*TT$PTX_)TS)09OON8H92Z(;(P=O M'W/EFMX3NDVR5A;8(9=K)P>KI<@=MFR-([EDBBS$.VFP:A1C\UE1Y$9B_+#E M<#4;I!>5D=QQZ30G5AJ5>.]I*28.6_96[6J?!ERU,TUDM(DZ,%:]Q$A,'K84 M2V19Z6:UBJ"*O68](U4"GRJ4"^V"]:3Y^4>>L&[7MP(W/R8QB8X6_+G3>C/$[_S=T6F:\--CWWO\2'H*3"Q M_7+LT+S6I9D-[C=_[(X>6:3!P-$J*OOFV[[]NW-_+C!^R0.CU;$V;]V0P9>E M-V_P^8EZN"A],J?"SKJ_T[\)^QQ"&FY$<_/9NT%T[^\6T.'7FU9ZL$7S7KQI M*@UL4W<=<%WK/$K&-GNI[9^G+^#M[S+)#US)V]V?_>%MRT0,<^]VN<>>O'F. MN1=J[C%1"K/O=MF'H?.FN<>>S"^(N1=J[C%OI-7#[+L"^]Z?YO-]6X50D2KY M1Z2ZZ,H2.CH=^$G^F'!PPXL>_M^OV*]/$I&!5&0W)TN;D5"S%>%=HB8V9U9? MF/+HA\B# ,Q7\W5>6/;JC#0\AL(IN<^P[0\DY)?OP)G MR)4\=+O8CUDK*+06OK8EZ9+EG?P1?@V MGK73!Z9?8M2>(WGWFV>)5T[@[<^/>3G5]U8EN^!]%N8#ES"$Z4PWUP $F2=W M0I?2KF6!G8L5S#9M=OS!BBR4J: )4H:L3.=2S%XT&G[1W!AS1[&'&3PQ %S9 M;OF> !"J0E-7!0"*WE[#ZB<;JYICSR(DE[ [_*C3K3>SRZLB@$86RX."19L: M-QBWV%:M+1@/" &X7[^Y^!T;/[Q>]9T]-X$M5-BYI26M4; CWM)]O2F$27M#1UM:G4+=IE5QV(4J M0&$ ^L$NI)_D,0HQ %W._OL( HT;\9*[3K%M,B?E4MPX-HN/'E -.FCW,8GD MV8V^\%EXMFNA=,^[QW-X;_M]G%O?A4[85W9)6RT @==Q4J@MS'C>GLY(*97J M3_K3F:),>9%#EAI#W5')PVHM&$6^CX?LN] ).]PN:G"]"2.1NKW./[G)&!G) MS9N#58/LDI,1A!$.E:>\2YXL3_EMW6PM2"4_-?W,0F6AG#5RN9W1#L,;-NQL MP\ZV;V3 [:3O\,"#-Y1Z !UO;'C[L:I$U_-<7RNE"VO*;IF#F@)4C% M[TCR,#7H=_.]98"?(QJE;0>&>[ZS58P,V.V&W6[AL]HV^V64*A*-M*L*M@'AWUP(;3 M_A!35K%V=U;BE9D6Z?:[/<=UR871@)B"S+#$'<.=BGS]M@ZY]',%M('D8$?< MER,K=L1A1UPH3;J=#?!S^3@/,U['W*(9[_#&\&%-]G0QGFU3_6)VSHM)SXZC M[ZCX!<]2L19A%QQVP7TG _ S"%3O,LV'>-$L=B)S6AES#4D7XDN(0+[SC:%/ M[22_A_.M@-)YH(K0AX,'+QWQNZXL-$)N^,NX([;0$'= M1X+78?.I7A_KD>3*Z*3;(WH^Y[.C;I]'E250%-P=$\-!<%]NI6$Z80?3!S6-;H=;CNZC$NU9<3I H>T*S6;)9 MT?%3,PO=U,.!E)<\F=W!1]Y0/I,>*C],IY_6>79%SL?DLB_7T]S" M;7CP#L&3I.[8D_'*&%6N8_*%3;6N@RJ>11:VJ8<#52YZW/KGL)++LL/Y,L%: M0J20T#5;+2N-JEN%H M0!';!RWT][T*;4)5ABVJI@,(AD#CHZA_B*9_*0/^*YLCPRL71D B_X820BBJ M+;M>(F!4+-ATX9,7=SF(@:2CJ]!V]&1)" *5@-@42%"WV?;@O#?'TO"A!20; M?FU#FJM#" V&HZ^]>L42>J%C$@>%)0@%C@!^X:A35/ 8CC%(X3=%!8[O"(@F M\IAPUC,$-+ S4Y;A')#<6GZ58T"L@61%?5&[7<&Z<)WL-,H'[7@TA0" (G A MM8$AOU%)_:&Q!I8QJTW(FDFS%#\#S3@5P)<*94?AG1/M1-2,"DME[=-UUYE- MW?5:.R\TB72M4BFT*T*UW2+X:@9^KK8+U9Q035^A#OOKPG0P\J^%K0\IPB&0 M'>%#&:+7R!/W8/@;MO0 3&$L-W!!,@.0@P96A\2A !9E]0I1 IY#%^-LJ#K MVS[\C.@F\C^@? 4R ,B:L#? 0T1U9 LA%"N98,-0 Y<&T[4]LJHR[JK>(78 MQZ:-1@#)#3\-+7,*?TU8_@+JC28(:G?AMATNRQ">O-\[0->!_W23,.&.@/_8 MI@$?J<;$M> #8"Q4RS20>N[^'/Y"<>%D-]O_]?,C"R X1+,V#1OJE6^((&B7 M'>_%FUQ9,BI"*8W YJT&T#VB ,\&0&]$2\3,=?S\\8X*.[.=7<+MS&9##4AR MVR;\1=Z.$I W Z"K<#DAEH 82_!?20%S%]+&&Y)A@PW-(1&W_:%7P/:*21BF ML^W!&4N.QQU7AVL"ZL)T'6^U06O#;@_$4M7UX'7H&919Y#-1X(1A(S!$M$"Q M4JZ]$:*\N82OL.Y0/U"85!N^F8!3"6CEO1J.R.MW!I='244\@@-=/[]\!@R/ M!B^G 65(5S:2-70=U_)61"A/$U<9!:N95YD)B85)V,!Q=. ]1YUOI-B3*JC5 MP!-%L)K!27BR;,/G(\D*I/%UJFR63'\\&[+ E5.%JS B"%H^U;FK*E"@?#:[ MZ)TVI+,T/(ND$U"&D&XM9T (U4=[N*"@2%E1*]6H2H!VX=%3TY- MK_'2M#3("WNLSCRP@(8'' >22;#RY^<#*FRZI0!40F=\Y#6;0:_WWK*!18@Y M^D:LEY(%U1I^V*B69",:S!!TV6C^P;04%8(ILE.1%3I&>F2X0X3D%GJ?KUZ; M%W@]("+ T1.^=0VI/' 130L&&OW$-7PL]L:OJ L 90CU9>] *IRB80?P>>"0JL$\H3Q"BO;VJ M+BWQZG9<%/:PR/4L'LOS-2$3:6 :BL=0@"Q,X.WM=>#LN!<0V".K:V.>Z\@J M?T;P'83W&"XCRB#R3)&]!_M"AUZFZ^U/T9M54[&#Q;)^,([GA20P(CUC$(D* M9#BTG53?D"$4=,?@'P)^&B/K;^GO)2"2^NX*;_5! .;W*MG>AUV+?I<$T&H, M9@V4Z//F!"F0]WJ_$VB>>:NRMUTP$?K)R [VE&5KG=\<0+UTL/C5VGTZ_%]YV!@UA"C\' R:C3 P^V2]MO]/M7E\1&6ZJ_CEU MIKOIX?*4W:^UBN(#?=_YUEE,)0^+VZ/__L_N])Z#%"*RJ9O6_<85OD/.8 "T MYQ4?@<@ (J06D8;P]?>2OI36=C#Y>#+*;+SL]UMO.J(X02$Z_T7L_(VH=,#$ MJ;2*[! R<,)'=#"$!/!_MGEF^50)'IJVYWR\]VV4!7C!Q4 &''-V3U-1;E\$ M6"H:/Y2!B\.SQRKFF5__E8BQA=QN_VJ;\NO6OH'00-^S]H-'OWZW_4LZ0P*Y MV="BN=4@Z5K8_J($\-O^KW:MGNH4RLC1U:Q'+^W@^I.15FMMH46T:\@EEQ&J M+<%SSK5JY4*&;\,/V4*5KZ8+?)EHM>$#WX7W[_3&8?F?KY[;.=QYIV#WI?(> MTTG)\^^*0QD,F!C#B.P *"++4I^:: M2I! FU>&<4VMC.::P,.6!^/4Y@-*DE+M'LGIF>ZX*B5!+H9R]1^\O5DGQSW* MSG-D^BEGEN1"+%YQER)WV-):#@T@]16#G"=;O0P;CPV<)DI(>S#.T7RYTGI, ML4NZC:?4O-W*4XLB:KD9)US% P^^;Q^=]/8'7OR+'5&@8\H4LIEJSR:3!Z&' MQQ'D ],6B\5EA,RQM=Y4FSP]ZE4^+ <,;>3X,W7=7'K;-L9U3>^>Y%N..'7]CWMV8\!A0)3!X_"@":.[HT ML\']YH_=D2$+(1@40C797T[W[9&=*(' &"$/C C'VKQU,T5_#N\,$(Q'N9.1 M+3LXO-,_\KL/H2QL2++Y'$$1$?>^]0;W2LJ;5M-.@,JVJ32P3=UUP+6MI=MKEM03JX/' .^ U1OAGO'3M><-_K>W\V;0E3BH80+3ZW1)8_ MQ94_\AF%@5 ?/E[]:M+=G(A=B2RQD"5*#ZGX,*%)Z/Q%FA>Z3=4;2_@V_BM( M%G<0M?C]C=_OL7%\VU0[RZ7XMXYCKGSG?7/A_19S:.RHVLN DB,WVBUZJ'*- MC+C0N'BEPJ]%*MD:H&@>5-N I>Z8Q(6RI6'=?>LXY59T]ZVSA^^INY?)5/$Q MY:WGTB33<=QYI]1-L45]U&W,LDAY438*%A4'/F=1SA!Z"EZ:&>7W!)#A_08#K*]ZE@(L=_R^QA,/F@ WE *&\P(<@+!1]ZUY7= \7I6$#N+;D3I MI!\B4\.D;#W50['.*-]8_"X9/Y4C'./0E?PJ&(<^YV;!.'0-X^\L0!1IZC&& M-)R&UEJG"]1 2!I2'@$1YP$12YTS:^Q7NYG^V>2(Q3ZELUMQ84M0>"FG4^@F M^M7@=A$CZQW()>3M3,6:]]K:6GZLC5L=Y2%/H@M;R!7%)>^8V 5MJ)^N\K$P M9CJ^E*\J=!/]:I6_C#WS#IT?M:IJCTG69IVTNAKTR91: C0/==XK;,G<,)BZH]+S_+'XPIN=N=UC>)8EJ*3%/M\Y_>2"49;[L & M)3KFH_,IUU5JS$'Q^*VIQLA.7R[NGLH.PF@V"KDVH) MC8Y0;1-"%Z46P+E WTG@FD'P,TO5"9KV T']/#PHLY270%,BIJZ7:P=5M54- M:3>G$,K%Z"4ZVR:B\GXA^QFF6O4"RINHPG=YN8 DPX!;>!EV"WLHNO )W/UY M\8)>RC*4P4JQX$11SWG):[Q!SB38 M_=X(A\!+]?&_9UZ3>NRX&PTV; MTT% P?8S,;, ;!=*SL>-JF19XB0UJF6Y@5/3,\YYW'O.Z^=:\EBRP;-D;1+Y&6 GC]_F=SMRB1Y!R?.E MT*>\GVDOC=)=&^MM>R0Y7CJI;09FOT\+V+,@E:WJ>"GQ+&EI$(@>1%:2_;1V M[:6Y2=_HIS-#F0$5-&S;E7PUX&&?BJ<353-*0*3B46Y"/\_@[E2#<7E)P^/_ MV$0:RK3J$/QFXEZ"1 EU!I0[.+JIGPF.&+JP/R]YH)\@T,NK>G.9J_Y_>U_: MW+B--/S]^14H9V8KJ9)ID11U>)*\Y?$Q<>*Q)[9GD]TO*HB"+&8H4D-2/O;7 MO]T 2%&')5G6 Q4Z:(7.ECB,4\ MZ2#IAE@[0B 0WB;7+,/8+U%X%]%>:0099+GT'!IB+;[LG4$?'TKA,G=NJ^9J M0N5V0+D886(W71JQXSSXO?EMX%Q\^2/J7WI/ ME:,1]M9X0;>KFP24GLG%9'MYU,/J=F;&Z!HY1E=FW_][\?7T_K_E_?]]^>9^ MBC_ZM7-@=.84/K?P)I*69(A2F"(C"O$5F&>FUG1%0;QTUC%'FQ8C[)&Y \'" M8-R[;E9RM,=HD"LYBJ5E X+51%F2H1LO8>W=B_*= ;L+$T^PPY'RI]1UF<_K MTH)M.S:/L4>QRB-G;!1+,_-R(GP>Z3)NGR<3L'-9S&L$ABT?RX.S468=YD0! M_,TG(I0 N(9EHL?*"::?3#=6:@.R_NYSDY!0'8J&TK!K E\>()7LH=#BI3)3 M5I!P&8'-'")1;1%K9>*\@5T9JO&Y298\%3&+S*4?9-UFW@L#==%@NFZ*6\@+ MYV9B&- *1#C8N+S^>SSP!>:D1>?)^?#:7R$OSGL>N$96$#J6-<%EU7D?R]*# MD.YY[7V<(,[.(+==+T[+%,L*KD,M190W9T&7IZ1*]3IFO+2EJ%Y^%'U#JHM3 M>N9B_S%ALE8X3B!*L$ZK5+%@Y9X[\!/067WY#LXAIUT!&W"YGLQ+^C[RZKW M$[8FB#+U.I-%H%U/R*59RO5PF_@NP1ZM1!@%4>6?NZ#M/'X[_BUFG^JUO^\: MUJ@PGDT$8.%^^#DYO/SW\_K^C M/^L5U+X=8UJ.U:)2*573QS"ZA<7S405%!NC2N(M&'*!J6V+U!"*WLHJQ3-0_ M1RUV2$[N5A8M"P@MHI%XM\O6",?I#SMN,/J5JSK[JS*SR2IFI5FIEEO-%FM4FQ76<*,JEK^.'9=LET>9%M[DFXMW#+(%1B/ M(P_+,5+,B.?L?;;E0DD'MLT,PNOPD-$:(R71AZP]9FY:E?+H]UN8:=@%R/FA MR_U/U(W".)Y$&1XX2OO^9%UWMX8-3=\6YI+9HD O6BD'=N M:_GA0["/'3)"-.([:,P,GR^1?N@_#2*6@/'#@%HBL.X[(?I[<8QI+Z.:-D"' M %M(5$]O HC?0L>@:BPRF+V?+H%U!1^ SB3 2<#>0[<7N*/:3(^TPC'AO MJ!#; L5=YM^+UD/P9L>+&.B/+F\=E&LHQ?L4<5BB1>=C^R &1 I3NTL;F8VZ M+7C3OM%.?'D&X )\. +% ]P 832F[&:DCQ/OG,<[!\:PX>T!QOCX5/WP#G#4 M<^$)WH%DOR\=%F&'Q:(-RLB42FD'C^$DLZ93<5';>FPK) S\8#JOR#C#L,%6 M/,1:W($>8==O@B^L]9A),^ M2-NL4?2GM:7K*WX13S*=\G"1'N^;$_#FAO-8$I^+69_^,BPV%7 S@)SUY&DA MRJ, A;O242F+C(\)Y+0G3B@ZHR%'B7EQ<]Z4";>&(%?F+)*)-F.+@6_8L*XD MMRG_+80=[]V3^ME'[HF='+G49M3G.]UC/$$.$6^NZ2=OY-2E]Z)D4=)=5"-(X]DQ-@GC,?$8!0)L&"(UL/R$=UIB MB8>6&';VI &*BK0A%#GS(NQ5*L/K+5@"2(#!$Z?G\(%%:<@+]97,(Y@J+H # M/HJFK*,9]WV6 )H1"^Y@S$#4[!?-R=+>@/^$T62'P!>JK$8:K0+U&.1F/]]0 M2_:FDJO(+=]_DOWY8MY,D/O=110LZ^C'I>!3VG41&8@_5''PY6F\(A\[X[UB M,3@@>J?"]-J1Q[>587,U3S2,SF*!'&CBF\",O4"NZX8!+8*5T&*"(Z! %MVZ M.7)XX\@QQ1+@M["30BS[QT5H6*!?-PKY8*ASP(I3HI6<9F&4MH#EL"O) M[JD^8L"PJ1R@/T;=[AB&Y_I=SQ5L5Y@0@N<:-T;.8!",PV>BJ2Y!-IE*I.F, M;<0LN8O"!X# W:?O>?ZD.AGGL.(" #7'D0X:#IX9LR -A8 TJ&*VG)]+K[CA[0G<[[YLF;#BTWU#",>F;8/@B\!GA!C M[^F7QL$%-1UU%:0%^#9+OX;/SO'U9J.%P!C0@KA[?I$7A1B M,>5<'+#A"XU@^!+A3B=3$"W@U9_"[P!H??I++G-F\3".-U,*4JE!-+9U;+ DF?@4/<\95D.58@[4#) MBE-.=P1#/H&2A8LYRP!P#!#R,FYX/>S$?)5U8I;1J'2N/]-TI_9CYNX#BB#M M'[)'WNQR) +RK^^#,/DP%P_%8Q_VI#.VFR3]^/#@X.'AP8 O&'?A_8'W^/_: MH?O+P1%P!FQK>\#: . #V$YZ8%9MNV&;!^5RV728RSRC+6B 7:KM>I"L=><:IGV2.U1RJ I94@6P,VO!Z#??3\, MO^$+.3;!*;3+^YNWD"XIYQ<3S9=Y$_EE^)#0*(,P$7H62,50R'V13RH^@29- M@@@BJ?],SO="SOD#D[O[ZY)7]^/;J^/;T6Z8__/KV^^7I#)N[8&^S N5LR4S;0PV1"D([2 M:Q&@]YWZW''&/87HNO9 I1\J_.D5*GR4,'S,%9R(2QTAD$1F\%01F9.\Z$_) ME-)I[0B+U^/ON0.S-9-^->29&L4ICO;Z!H^48=6>WNHG= M=B/&R&>XT8W)*0\)\8PM$="VS9+X9<%^=?/(;!XG+#*5:2:DF=!&6AI:AKEC M7617VA%SMN52XH3O%!X\6Y5 D54(0VVG?,"+0V5'7 #9549JO/CNI]RIZAUYLP6(E<: M3COI"'IYRH!=KY5,IZSS;K80_=)PVDFOT1)$6"N7+-/163N;BZ"IHR?-]*?E M%2595V:EH3.U46);3B4-E:(E]BSAJ;?+AKW2*%!QW/+J+K2PY*%VVLX2Y&$U M5DD>Z_7<*!&U4DOA&M8MGM>X/&N&-A; M"5NP!S';?=^-]M3H$UBO.4!BUJQ2M6*]F>P=G<&D#UR]CE[*I5J]\F92;=Y8 M8LU<]]5+M ]LKJ7/86GG32'MQ<+EXRSA=S=MPRGPX22U(E6:T KBF"D\H>F3 M6HH3DSZIM6VE9W?..VQ7 ]H=.&K'Q[8#5[N#2]M5EG8'COHLES[+]:*S7%=C M/3#?]GDN%7B2]C&])1_3RX^;6&:EY)176"2VB)X6?>9+53@5T?^T1*WF1J-4 ML9K=3Q?.?_5*D^!C:M8^B28SB_:$E243S!:)A)0->I%.2"E5GQ-DT?1 M\HF6(0]GE>2A3X+IDV"[[_G1CAZE *4/?NVVDT(#2EU Z7->;\B'\_;:;5TE M71:EV=4E$K!D]UTRV@&S*1@HYVX9!\IS1N./M9)CVC^]F30>G1=(+M^O]*&PRWI9](5N$ MV]I8KE,I5-^WHE *06&^& MH6.5[/H*,PQ5]CULC< F3E$I@%;;(;")@D@;W@Q0BQ8*$\YA4&#?TP.OS!,BW':DC-5-1_] (W8C1F;0(?>D\Z8422+H/_ M1XR1'DRK&Q,6M.'^9QJY76*;)6*5K4J)=**PQY]UPUZ?1HCT!/;."]LD[. S MMO&O'\QJ^<,M/)-^ACQ0;&3FP50!,J0=>?-2'CX6=3@SKEA\K MOR=MYB*DA]^Z#_U!C\D/I'=A,<#,W^?FBHMN>W$_%#/")R@)PF#?#2-&6H,8 M7HMCHX!X(3:L@!.?TB$O)@\,M@,;?+WG6XJ]C%Z X>(=0.,2B5C<9RX64/6? M##+E6XB(47@/8^1P>\#+K,+U]@#?!=8!F 88PRNQ"C2>BK/%0QSEF./BB/.2 MJKFP9_ O,CF7!0F]X[Q!< Z.:EA+!8^?()H M[K4&7+K&[*X'Y%8XS)UN5;:]^U]_AA_9*#X0)]I&W0^H4OCTZ9#;#^FAN]2) MCA, ^D^G"T+-@2NIL5E^C[/+#3LRUKX+._9AEJLU'6']<$7.R:(4K*:5S1Q_T<(*65*@Y,RM?2:Y& BKPH-V/TDP :<_Y M&[EF\<#'M;?4X7%J*W8HV3JA#Q(%Q1%G=2 M0,Z ^$RZ7*8$F:&+LB><7D$E M1HF5FFVIO"FA6$JZX2"&-^/#HFV)A(9DER(@"ZS2I_V8'::_Y&>&W$5."DG* M%:0XRLMR+CC)R,H3#"B)TJ^F2Q1K6"SFYUB&/3.#)\<$#\#P"$N1Q7BEO^X?11VHI!3TG8ICGM\XYM\P4Y9'DY^BK_K&58EMX9 M%7<&76%Z8U3<&,NHS$S&U%NS/9JISSQ2J7=FB]S,U#NCY,X .]-$H^;6:':F MZLY81E7KS6INS9RC,GIG7KDS+TSXG6O\%^C8UMK,[$V[Z%<-%3?T\>(O>\[> MLA!J&'9]J]U6YB7:387@+&?P+8_S?19QOM-AG$]$\&RSE"9FK.B,P6QE0864 MS;4=XEE,*"M'95L[V:1\?[\-G4;1PFD3PFD9SBIXX^3/Z6+'6E;LF+91VV[C MO96+'3A]0[KS*O'H;(AMB2L+#X8KV7N@(13HCMB%5>H>+U+PV0JKA M,E6,:K!,C0UJL$P/S&FX:"IZB1:KX3)-:]U5L"CG[WI9J97S($ZH[_.CP47P M9!4"W[?=ANO=ZE1(A>LJY+?YN4(*M4:]5*O8JY9];Q[!9Z:2%0C#U>K_L!2& M5VNE*%3 M<4JU1D4[0;0K\[Z%Q<6[,*4,=6VZE"#9FU6FU5&=7T M'',?>#FZX(DPW^MY@2@E2+3'<(6ZJ&[FLX!BJFZ*T-+,L.J4 %@KY8?:@R/U M4$U3"RBENTA3Y9)EU31-K44'U415W+,=ZP]M*Z6'9YJL6>\OGL>I4S:WX7E5 MKK_1NF+J15C[BMU$9LFJU4LULZ8=1=MRP"J'8NL*Z!=A[:LG+[ B+;NNR6MK M?MB=Q['59Q,HI2HJ[K(M &UH5^[ZDS^+ (*U9XX6 0C:7[3^/-$BP&#M2:9% M ((FAJW5QE$+"-HYJI;&.],?>C5>UU\?;U?%5_K&H:*/MVN?C+Q=9ZL6P\6IS[>_("CC5$LU9^51]3>/X/I\NS(8 M7JF6Z@V-X05S1FX"-:K&2M%"GV_7Y]MWB,2UYU 5S^%&RL#42DZMH9T@VI7X M9ER)&R$KNV3;*R\?IO%'!=_B1LHC&"M-R=5)DULYYZX=A_J8NS[F_LHCN6:Y M5*N:^DBN/N:NC[FOBJ8:I49-DY0^Y:X3.=]T(N?X*??)Q$W6"2-&[E@ -WSB MAE$_A"<888]]%L1,NV&U&U:[85=@[UN677)T.43MA]5^V-72%5B/EJ/C&]H1 MNW2NP$J]^-H1NTY'[*?G]-02"5BBO;':&ZN]L:_V')6KNCZB=L9J9^PJ QQU MJZYI2GMCM3=6>V,7K#DZ[JK5Q^EUZ5%=>G2UKJ-*R2GKRHBZ\*@N/+KZTUF- M1JEBK[0PI":N%_EE=QW#:D95.VY?L$1=B53[=W4E4EV)5'N1="5278E4$X.N M1*I=ILJ[3%_J)27BU5A7']7)JV\C>;4(<-&N&YVJJG:J:A'@HJE(F<34(L!% M5Q]5-X\U7WU4>S6U5[,H7LW-1 Y7&]A9LU_G15$<[:=4VD^Y(?1>>52\^.BM M/8_:\ZB6YU%7*=V^.J>AHH*'<3/%O VKV*Z23>J!FBY4\!ENA"[LU6N+"D!I M70JD)@SM!2R"%_"YAZB[#)9,5=:JB=B1J1^+J9&7!3W1K1^+V%48%=GSE_6 U76A'HG8D MSE ^#Q+:\MD6YKW@3%'_S%B/&_IA=/B#95J.U4C!2[R MA(.(Y-&2Q.RNQX($[KD1HS%KDW>V:=0(+,2'^R421J1BF.]+I ._)5T&_X\8 M(SU803TQ C:<%[9Q'O"< M;?SK![-:_I#.+?V^;3CO22<*>X2ZWP>P#;Q;6(F8AB6O=P%0+(*IPQ2Y0>BY M#!Z@09N4P6(A[0'#SZ:/\?'O0W_08R4"DTH\6/T3"3N=F"6D]40H:3,7]P"N MP0@-&"'R[EF ]W#N;2_NAV(>^ 0E01CLNQAE: UB>"V.C<+AA&H8/WB&% 59C&_Y^2,"9_O%^<\_!UD+242L;C/ MW 3(V'\RR"V\G7(8_OVQ29$'8%E#HN]'87N +\,>P.- ^11'BOGX4[D/ >4/ M)L*G/XW%R)=Z-(%=X&').-D6UU!$79BO3,V;^XR\PC<'S9=/=?OZV(N@J9K M6JN*-AVS,RX)ZDJJK*'-/:*L6: !K5M9&WZ_DBEE.15JOL9EHHZ79\C3F:K0 MZ"JY1R?T0H,4;J]W 9.U-J8(%U]*]9K#7H02QDF;*V'V:I0PP4'6KHI-YSA3 M%3 ^B!\^C%F)F]#+7JTV'+2]^U]_AA_9[ON,1NB+['Y @]6G3X?<*2<_E16S MQ$_VX&\Y&["8';@B/97E\GN<3V[8D;'V70#UAUFQY72$]=.#R["S> I(T\JE M" JH6G8.4+F?_Y=?WI S[$ORD14^<^"4$["XF_:.[;< >;_MTPY\_I#Z#_0I MEHNO-8;M7PZS(J$VSUI$.+\GN=\12A.;V*./^SE 2J_POL\Z #Q6GHM$E"1 M%Z5_XC!B/B>0L5V4.)"$_4/+-*JC*% QC=HD#JP=\?E6V;E8#"7 6SJ_[/UP M&[K/:W]!&/6H/V(^R$M[O]XBDJ(*<@QW 3_BC&+H?*H9A_TTD*IB^ES=_G9Z M3=<63J!T$F-:QKN&4U M2^,N:5&?!NZH/M)FG'<03#N?-*X6F.EY^FD)P=Q'<;)EH[X$[$:]XMGJQ"1A M)!!;4?@ DB4F( V9&/88)@XK.;J#T;ENN(BIJ R1+,V1*/':O^PU?_._F673 M=FKU>GU/"!$E>=6YP-"$/@Y/.12/5^6 ;EN-:J5>KVX7Z)-@Y6SCG5/)^UQ@ MG:S3$68.?Y:?-@$=Q*H:%20-5%1?Y)')T]B[2@U&6>!CCM&8_)@8B2M%8S3* MN6$VP LFAQ"0/ 3L+8 7[ 7A*I*8, U&S+L\\')/Q5U8X'Y+\%&8)-SG@0!U M>(?: G9FKNPQ"J8SL&N%5+KPO@\\X.)/6;*L"O!=*N%D2Q._@3M>!TQ>$(!Q M.(A0WO\XB%G\$Y(>UP,0T/P7!L"^ISX:'P1PG,2#'A+)_P#14RH3I(C>F#:, M"111$EI,.(AA&*R_6N0]XHZ"S+P6C33 M/9I/V:'Z2_Y>:(U*J>()I@K3+=1 MVS>7(B4-WW+>8#6<&K=9DRC]<+IFL:C%\N)KIM%HS#H2D+,;<^.',&8'J"V% M2OHWSQ\\%,Z"!X##7"-=>FCXA]-':2L._4'"-FVFT%5G MGC[5.[.]G7'TSJBY,V6CIK=&S:TQJC6],VKNC&9GBNX,L+.9AV_UUKQR:U[? M)VVN!KUQR.2">IW.V(F8"=.9&T=MYF+!$-C>??S.(7>&XF\3MX47CO?,WM1! MDME:\*:#KG--Q@D(OQ!,L'MX\9<]9V])D%E5P\YBLEMI=3[OA-I4D,YR[]QR M)]UGX:0['3KI1'Z%;9;$+V3T;/0+SXBK1\E+.2,4I[<%#L5/@"#]S#&LH15Y M,.QOS+]GN"[\! WB??D=A ABPN3/F;1F+4MKIK5SM(8^[Q75&)BG\VMDFD F M:^>0R5X%4U;M[/!QEP9W(GGY65_XXWC03'U3K<"*P%:5PW>KD]-%+R-4JY=JM=JJ9;#&^9W%^5THO]HHUQ:O2](56RW:645[/F](?6;%-%Y?RC,6Y1,_5LHE MQ[1_T@:J)I/5DXD:]19702;5L=Y$V MG2D*=M&L;FEHY\_G/YNPI8WM]7*;$1*Q@43:X0 /3F^+1M85M%5NH:N.<%GE MDE6I:.-;4\T*P[[*+73%5-.P2[5R8_.]9*SZLA4P*M.@,HGZXY5F8:OF%3NJ MF&;=J=1JVRIV5)VHG)EYXSN\B,R\]*U\\Y!\(;77%:'N1QZ\_\1HE-8N&M8; MDK7,DGPMV;"#=>;2:FWP%]:)&Q:9RX9_\)+N] \88SM3;52JC7JMO*V-,2O/ M[\RL) -1I:I27J;$7BD'9019B-]!8%J688T,AX6$\Y6XN1;YSFP8C9''^@,8 M'O8GQE$ DP#4R1-_%I7-?H_7J^I1+X /WK.NY_K/E?!]9P[+;N%(8&NT8Q(Q MEWGW6%T':P.*DG2B!BB-X<58%BY_ >"JYA(X;#\+N(HSI5Q?#G#XT,WUN02? MDUOCLN#CMWO4[0*J14_D7[37_S!\?$LEMA9!YFE!/[$G9BU7\G%A9)9[3TX& M$0ZZ:(4S)B:$M?5'/]IFK000KD^?>J*^4X#3=@<1\I5W3@YM@G1IX2!!)IJO M?<8>6>1Z@F/EZZ#!2# J%G:C#S1JB^'C)'2_ =>5Q>Y? C)G"9#9QDN 9>> MU1@VC9H&*]&>"6!DC\"(IJ6]5P.?=:$VGJI_$6J/*!%3JL_O_?H7(UV*:W%= M%L>X;C^MTX9P#P=W7^/YX M!<^2;%4CA7K,-VLX HQ\$&(5+?@%>*[/D@0'ZA!7C./%\4 4/(5K@SXO4>B4 MAX@_+!UZS>Y#_Q['/(,YH8YDD"/05'$%U(?=[;LX!(W8'&XJ/XHR!9/CG M\6^.1;C:*6OTN.(11GT\CR^TDXAU6,1@>@)BJ<(UHWCFU+VY#!-&'()JFVE^ M(!=A<+YA! $XB"AP'WA_%92P(&B,"B M$R88"]9 YXN2/P+R$("!'<.=XF)<$^ZL/8_!W"=1<#WKQF (#&672U)XIE>4KNK+\<%R. [JR_&LJR^= UC"L3?EYIIJ_6!>V$_J^8+:R MF&-:PS+F/"T35.K7K7Q!.9QMU*U<0='*:LW0!:O4+%BEB[PINS,56^^,DCMC M&76],TKNC.9FRNZ,YF:*[HQMV%HY4Z-DY4+*\IM(V]I.?L&:8/#Z"I%VV:B9 MNU5H[(A[9U]5:DQ3RLY2RO(E^2J&-5/34(\2/D\IC%J4>H[;+=JT$G2I;2'= M]37HD*K&S5V>/5>JD^)7U<4X:F MC!=Y9A58VHI)HUZIEYRJ\]JCBMIH4=[ WR '>.,PF!.3?A,PT+2@:6&1B&:! M@+ 3-N,PR[XCL^RU.KQ+ZG 1P+*C5J93+I?*Y;*V,C59;5'4OAVZ4LU$?6'1 MO0L6QX=D].!39=&TQ:]5^VV#948NY8E=+EJTM9DU6VF+>!%VI9C$7 4>T MPJ\5_B+8T$6 D:8E34N%,)YU4/E%5O-MF%!_6.9'*_(;5^25J_^\N=QDY9:^ MZH+QI4K9*95MG;ZLJ6L+^4/YNQ=QB!';B"E\/_"E*@_KT*1PDAQWOD;6G%0+, 3.M MD"GP950/DX_5\=Y!_L9KT'F,+OGL8/8S*+,^05C\=-7O!HZ.C?5%\MP=(]D1@^[ZQA'0 ?6.LZ?_ ?)_7 M]L63.*MANYEN$$O5E5SB3+T*PL'V+ER7F313XTUC\/)!%R7T8R)]?G;H$KP-> MM!BA;4 L[$P)/"D>]+&,L2@!'=R%O!ST:,GK;T!) 2^.'%$W&8"-$K9@^?() M+W#] :\:C?B75I/F%:0!H/>>RTB$>!PQ69$/17UDU/\2"_%Y*S6Z;E M6(WI19F-:>]-+]\,FTC].)3EQ%.(YJJ)A[Q! !:4QFX*^RWJ8P5O$G<95F"/ M(FP**NI.XWKB+NR"*'?-0<%!,I;,)*JYP^;P&MXX&/[M XB#&'<QJOP+5/N>4?A:UO0V[:RH]Q5L5T2.PU[/2X;5_+&Z+\P$ M!N7]QKV5U_$^%W6\!7!F%O-6A&]LE\6EM7-3IQ&FVLV=_JRCXU=?;R^NKO[( M3H]O#L13B'=TVC/1]YK%7AO;'P""X;P 4>,D&KA(45GE=G46\QOVX&D-/+^- M?,/E5"5Z]D0(E_K@H [QWXO!\+D$H,_P7%3ZR 8(%IO &$%0%1 M<4DEWA>$A8RWXT7 @K\+,N*-#7F_'R\&AC/14,B0)>\_XQ?E1]P<0(=M*3AC M!8$!1!S#]Z,0N=0@2:?"66X,LI*U2W,_*IN1_-7U?!2WP+J0J=%L6 "I']XA M2^CAO-+5#P(O730*'1P8)"=^"=@R?O>!@0G'A9B;B%?EF]DJX)4V5"2F(\O1IJ?_E-+]G M7D:6*A_F+3[@^U=BK!),-089RV#A+BC7*+E@*1S7^#<9[%38$SUP> .HK-EU M%U"6;SZ@ -L0$$1<_B('>1M0GJ@NGHNH2T0//Q]/^ON@&H#1<8-NYZN\*MQ M8XPMKY2J*D(*P0IA4/P#+_..102KOL-N/8A&/8^>:#34!:*(94FA#KT'08;Z M$>!_> ?V01=FE8 X:\M>*;*QE7AQ$+,N,#"22=&A?%T)W5O3Z'XNQYKNWS$G MS6)GU+1S%O< K8FEO8X9H]: /6J %^-.G0=M8(L1_KEEMCRR!F[%#6>:\A[ DU!2S3Q]X0P!A M IF<.+A"\!J\5;,[K@^E;+06\X\@6T 109H M=?X3<@;S#W# &+@CKJ4/2BXJ7M2-PAB6S#A[(6VOPY5&;!0G)H4M< 9@!&6B MR(!Y$2H[U8CF6@D+,BT7>QIY$3<(P$XA^;4!%XB%;8,&!Q/\+P496+L10#3* MFJ<]L]@6\AH6KZ^9T;I40-DXK\:J#6HSNVDURO5FI5IAS7K+J-> MJY5M]#UMHZ/>(@KBV=G^QZ.+H\OC4W+SV^GI+3FZOCZZ_'3Z^?3R]F;=>J.J M>O@\D/)N5FT2H*D)LA2I88ZIV7Y13[:06VN@! 6KLD_3/EARVPD1Z?'5Y M>WUT?/OUZ()WYUN7;JW&5GH9"I0VK(D[+;1;J-4U_(NDG2CP\/#AX>'@SX@G$7WA]XC_^O';J_'!P!7P$I'!^P]AV-#MHT MH0=FU;8;MGE0+I=-QZG;-6 Y\&NCT3AH^>U]K#9GPK^/9OF;T4UZ*_#'S_7 M'P4!0ENQ0:7UZQ'.!\-F+RNCK#G\2[M,Z_#FZP]]P MW,QPUQW^ENWPMY>I7J;I=%H=UVK6*JU*LV)6*LUZC3E-:MI6S;2<:J5*55:] MKL]OSX]![SHZ/K[Z>GE[?OF)?+FZ.#\^/U5+_U);W?J+ZTC8D3Y5J18.*G$_ M,X^GH:N&B]M/1T=?#'2+R$%ISDD;L^G#R%AH3 :Q"!%^8P0[HJ/6)V.X<3SH MB<[*PO],.QWT,:-P%^8/^E=Z/'(_;+@N32UQZ-)CTILIMX@Q1*%1!V$BE>CV,UIR-GNM)*].25Z9 M[DI ;25KUU@7<:[7%]?RI+R!/6JYCF,VJZS2:%9<$#6M1KO:-&F%.:Y3K]M, M97ES].4+"!=NWY.K,W)Y^E=>\MS<'EV>'%V?J"5ZEMJN+4U\>F8&[?>!?V5B MA(>RALR-)VSPV.%*LC*L+"GC:/B-+Y*![FH2QGJ(G=8K]7+9;35K)G.;E4[% M;#9JKMETW'+=<2M.NV&Z"A/[V=7U7T#-^YBB( !HDH'"N$OD7>/ZM\-GWX\/@=D:(Q?E4F8(Y?;K,8]I1-#(^0'K_6HT\3CXEH MZ,04I.8ZO(PL$#0G>9^'.H??%"F-=]R$'9H3&'N1BG?L 1J#OI4Q?6Y+C*), MFFUSRU\6J.4%6(0%5' O_B;P9ICM@?LLS T8 Y5OSP5M',?M8W ']AN>+W%Y MQ(65_U3BJ$A'E7< 2JJZIXYLX.Q2^V;98VB8#.*<>_IY##4PU=*E(DS[% X( MO<.\H 11=L!U>/^)TP4&LY]RYM>,$:]R-)0+5^'D,3^6&UP"5[DU-(B&P?)A MXDNV13V,=N^+#!G/E4_$."&>RQ)PV)+P)3A'T" QHFS[-Y/ PK MXFBP+8,.8E@$5SZ,KY(FW#S#W*5[YH?]DLP4X#FW"<^;9YPUQF$0,#]+O!C: MISXP6XY[+IL8/E9GW:#;W\7L>TIM,<,!W_%"H;),3'"8 BZ20/@.VC!B3 M>JH^9'/*O14Q$"S_8R+MBC,O1$46L(XG[&M!=M\'GAA$4(BD*/Y6%D(2A/[ ML.@2R_%XEW(' \&-3- $DXSH&IXG9[#&,,HD@S:-53:-2_FTOZ4W.!ZT8O9] M@"@NE!,I"Q!S,&\R/PW)/9^7^:F: V_R.WU&,6<'4R.S!+^A@RE[T$CG10!N M0-!!.@GA#P()$+-I$@?3+%.!\T1@#M&=-() Z/*4*?Y?SKL3-)W0+00$".JC MSZ6$=,5E8L[WY2Q[J0S]&@##R'QW7"[X]('G.'*0)^C%"\)<6!8''/3Y*OL# MN.KBZD$ZS0 ;3UL2BTJ-/V]H)992>24@4T(@\?2,!R]FZD3T7F-%6:8#ZF3= M:CH.JS4K]7:C2:T&:];:=KE.&[46JU6E%27>.,F\FW'S"+7FYN=O21-17&%C MBZ>VV"EF_?GUZ/+V'.RM\W^?DJ/+$P(7+M*_3\YOCB^N;KY>G]Z0HX]77V_) MYZ/K/TYOR?7YS39RZ1?9]JKRIMELU\AYFL9\C;2+N+3MA-(9]#6Y +5!_Y=, M=:'D%A/)+D(:C)Q$XF*&8O9^@+8<9L^*3#;@A^\5X54DY M!CQP=X>.M63:43@Q7KELE-/QC-'S7/E)V4;59%NHAE/ #O3Q+'P?-TO9E0"="^UYD^;)'=#D, M8R>H5?A@% H!!P9T^(!""VX\\>=1KH(B\8^T83K^ 5U>DIP[(" .B)+;9+) M^%&?/HE0>2"2PW$_A@@SI"?YYG7Y&CJ$42^ M4.$8GYBQU"BY*XDK6P]PH8H%* SR,5WNY'E'R0^>._1(B5DN[P.X8+;]T.-9 MZ_Q4"$O//8U.@KNI4M7-0_B^GK4<=2EM*.=194W.SIJHZ:TIG3:TV:TH%=O'"W/H:K3GM#FU6 M*;6;%9 KS;I=[S0[%FU4VG:%UANCUB,:8I4F C *_1BX[)2[^U<4--QJ_7%\=GYZ@G:BH5:A^P&ZV57AZ3_U!%I2HQG" B@KG#ST.[BCTR=R #;!W/99$(HV;WASD- M\GXI6PV/#L&;J+1F_DP>-Q3>_+1Z2OK17!*>FT>7?H8NY$H#1"M.F^Z;S(_N)OVHZ;?G7$!*GCR+7#6.S/\DSFYD.S*&KUA.>7&=L7. M\6SF)X\A 2IR8S00!ZYQ?WDE G*6(<=UEMJY;:>9 OQOQ)*3I"G-QV,L6!$\ M\?RKVH=8F(&!B),.X3HDNF'*[,*,HC/"*#K/,HIT2KT0K5F&Q@9\.,:\VK2L MQ_2SH9SLNS3.A_G3P#F/3O!$%QJ' >BJ3\3WOC%?!D7'GB^]#B8K8QB;UEB_ M'%W?-L_/FR-::1/5O*9IC%VU6V:UTVK4FXY;MYJ5"FLTJ6W7F^6:7:]3RW(K M;6?D#?Q4OLM]\8-DVECQ@/OH 1.!L-E#'R8S9:+@.]2&;,Y9=M0+GE!P=V" M@N(Q/M>4:0-*$OM12NT8LB5G1\>W5]>:T-=\4AXC$Q@0Y,DDH*'H8_$;2FM* MU<-EDYED<1",-[T)]O4UB-@=IA9&K-V\H3Y3D8=961;4Y?7II_.;V]/KTQ-R MH-'@T[__'I^^Q_"2_WISB3:G=:([WZHE/+4)[%9#?,07: M3P-E+P %@.QB)!2[Z+:*]$X$H\H $/V0OR MRUEC/*4N>V?0QX?>6>6R0(@TP"G]7)CZBQI8$KK?LD FXXD!HMP@VFQRK%BZ MG+ ^UXM*$OF,\I#G.].I&)4LQBI*#>*-H=K'EWS#/SRY< /-X)'T!B_.>[#P M+3[I.#=K'N8/A-=MI,@ )@RF'?3]\@HDG])'S.*P9R,/+N> X3NB>B8J$ M&+%&(!'*2T$:JN':BWC8">M0S,-4D75E:78GIV='7R]N;\C7+U>7P*LNSZ^N M@M@].P5I MF\L,+1K0=QQ51YQ@<\E[8ADO\R!R/Y@SYBL4+C_TB2B&SC][C]@5Y7+0@P^X MW+T!;URCD70B3U@U3?@?"OKF;=BTF[;\XX^;+Z?NGV 6G0Y.OK'S?O/J^U]W M#WNR+N\O>]XCSBD$W2#H4#]F>R2@/5@P<]N'Z!4WRRW'/(JBHW;8!WE\YM.[ M/0ZK2QI%S8___OWHZOO@M_O3[W]]]_X^JW4__O[Y3TE^#J#*R+Q_E>0HG)3; M7]-MU N2\27]_JES437_CL/3[__M_X?^L?_QCZ?O1["DO$]U=%F:CRPTU9.A MMCH[/A+@L92(H1."G]60<5,,X(S%;(A9I?LFQFCZH(D._#NN,SX7KY$!YU1! MWPX"7H;!?+JJ1T]?]]O?__KSV\VGO_[38.;9-?U^M_V%\;=-TD245'D85B/ M=0_7O ?O[,]]$/&&T>F!/Z$GE.N(&]?L+LW0OMG_XR=U=+)E5=N\J*N.B3J\ M6&V>"E_=IBV013.WGFF9QC>M:A!R^O=OYQ_/WVZ1XXEP3KJ?Q$?76#L]1XTG MSSG/0]HX!^[XB'9U]C :[,+-B"=Z!U'@Q5WXXT<>?Y?#\,@Y?_4G[A?&F,IS M092T&\#0"RD6TFRW;=IH@0>MVH]VHU"NCZ1*2C33Y<.O-QGI!QN_ER>G?Y/9* 1&1 M>W.:<%Q0@KR@VZ7X%E*'G""BA"M0:906R_UDC!#+$P241.E7_SL:>5Q90EC]?V:/8;NC=*^KN52J&9>OM*^KVF49%;UY1-Z]A M.*;>O:+NGB:] F^>)KTB[YXFO0)O7L.HU?7N%77W-.D58/.TB%-EJPZ2"#UF MZ_2.*0"]Y>&U5L_3=B"3ZVJ]9M?,6][YF5)H%P#CACY>_&7/V5L22+9I5*TT M;I?.Q.P_$GY6CJ01P8V#\=E@Y[. G1G8&3O<4PFID?LF8R M74C?4 92,]MW8-;#*.:L3(0K1XBO 90,\@IA=QD:*Z.VMR#2=Q<3;K%">J$Y M[Z900;!+Y3!AQ>PTC'H:&S0VC' *C1 +>TEW'"'.1%>+$]#=-5),UZ=W' -^ M UL-C_F^5.5.PG[A7&9@CYL+(,'LI2FI'V_")<3!HK1?;-W53V3)DDK9MLU' M]FB;;7-354N^9-4K3[/JEE?R%-8Q[E,G;;6:[^N3*Z)7&5;0J_#N/.+YH1NVRE)[-N:-2B 8OWKQY]]I1V2K3*96LB _HU-*6@S-@822V;(:&, M>-DVH(KH(-0(I3"@-$(MBE"S$TDTH#1"[22'^GO7+:6M8X(VL]0UL[:/&]I< M*"[OW#J@M##6"*412IL+Z@)*(Y3F4,\ :C?-#=LT+&TQ[*[%L/G C+7YP,RP M%4% ZE S,Z,/-VS:SMXX8V%XK+ M.[<.*"V,-4)IA-+F@KJ T@BE.=3;"LQ8ALG[2CN+G)[2AD-!#8=-QV>LS1V< M&8W!A!TRZR1-/N9BULE7X\8X-K+HBVD[Y=*\$$VC7,6OZ/",%CZJ TIK,QJA M-$)I>TM=0&F$TASJ3=E;6\TN:%Y;\'0IWAPT@BE$4J;&QJA MU(73&^10NVENV)9AZ?#.SAL.FP_O;.SXS8SPSN1Y'!W>*1!%:>%32/0I'IPT M0FF$TO:61BAUX?0&.=1NVEM;QR1MI:EKI6T?-[2YH7EOP="G>'#2"*412IL; M&J'4A=,;Y%"[:6Z89=,XO[S11L/.&@WG ;Y!_OYX?4'.@SBA@@.>D!! M9)]7"IN\W@YA4D&8$-KO,QH1+Y / M%1EY^(.:$))=B+E;282P'#2"*412ALF&J'4 MA5-1.)2N0J;C&&_6)%$ -[2Y4%S>N75 :6&L$4HCE#87U 641BC-H=Y<'./F M^#=M-.RLT9 /&]S2QS (>T_D]#%A08RG+F[<+NO1+(!13 :J"AYH=EE(]"D> MG#1":832%H)&*'7A5!0.I0,*.J#P9FT#!7!#FPO%Y9U;!Y06QAJA-$)IJ:-AITU&N:$%TY8QPL\'5W0O%,Y0&EAK!%*(Y0V%]0%E$:H MW>)0.KJ@HPMOUE!0 #>TN5!7'3AXNBC M-AIVUFB8$UVXH"WFZ\""9IM* 4K+88U0&J&TI: NH#1"[1:'TH$%'5AXLS:" M KBAS87B\LZM TH+8XU0&J&TN: NH#1":0[UY@(+7ZY/M=&PLT;#G,#"EXC% M0$JZ+)+FGNH!2HMCC5 :H;3!H"Z@-$+M%H?2\04=7WBSIH("N*'-A>+RSJT# M2@MCC5 :H;2YH"Z@-$)I#O7&X@L5;3#LK,%P',*,R1=ZQ\@YD@MU$^^>D1.: M4'+F^8S\V FC'DT2UB8T)OE0! W:Q(6O4[C2)EY 3A^[ +&$F&7SIV*R654P M1C/50J)/\>"D$4HCE+8C-$*I"Z>B<"@==M!AAS=K12B &]I<*"[OW#J@M##6 M"*412IL+Z@)*(Y3F4$N''<3 Q;8XAF,UX.::4&LNH-0W038")^4-$ER1Y7PX M&T2!%W=9FW19Q!Z\I+L2)%#=UE""5@K)B96 7!%EO1* TRBG46[C*%= T8) MR&F4TUSN%0;/04);/EN[NC5K)2;="%;GO:BX&Y[][_^##_2 M45R?T0@QM/NA[<5]GSX=\GT8VU$;)]"#O^7)%9F^7W.+O&$"&B91G44!2JF49O$@;63 =\J>[A?/U/2C5CGE[T?;D-W*HG@[\!PHQ[U1ZA; M7MK[]1:1E(0=<@QW 3_BC&+H?*H9A_TTD%+BM7_9:Y8;Y:I9<\M-NV/6FI5& MV6[66U6W:3FM=J="';/5:>V)KXHW;@!C:3*(6--L.$[%D3W7[%&A6MM7*_'.'^,X@3K_,T@R$NR +'0+M>F,Y;P)=!% ]HD) D M)$F7D8A]'W@1PSH/,6(D7KMA[B "I(*9G#ZZ71K<,7+D)GC;;-B5DGSQSHN3 M"(?JTIBT!_X3<>D@9FVX[<5POQ]&_#,M1F*8#]P( ^+!9UJL2_T.:3WQ@8"G ML4@^D*"391# 2WP\.DBZ802+;1L;VO0QO63I/>=B*&/>G-,BX_9I/V:'Z2_Y MB2&ODW-" G<%8QCEK#E-3;+5\@0[3*+TJ^D*Q1H2S+3U<8*_[%7VYCOE&H99 MG:4BYGA3[D.8"MSQPX<4-NG?^ZA\'@J!] #0F"L(LONT%8?^(&$?4"9,+G=$ M:B[H<"S#GA=@:472[W9R Y99FE,V*C.-4E77MF#&&1_$MK?JOY;N>;-:_O"B M0$/=L+<99WB&X):P_-(%9PS=F<_0G;IAS63H6]?Q;J^^?/QZ?G%"CJ^NOQ@D MT_0T>FX)/7<=&\?WJ&@X-K)9J?_#X\>K]EM^Z'X3BJT'^G605Q5!MZLXSW"C M96>ZH.&;@EQBS\N#Q9I(-)%H1ORZA O'<+:.5A^?#J?3Q0*VJ6,9U4;JOTS] MQ::!'CK0>;TV27VCVUWB07Q /M,VX\==KQ(6A9J*-!6M='V7M,=>34<;7\)8 MM >R>LI^_S*\]N8#VKV(\8M9'AF@M26JZR@*4Y3W*SUW7J)7W22LWE@;83F MQ*67$]V_/9?QZM$>CL/K.1QW/=8A1ZX;#H($ODFN.AUX*BH\1:X3M37IJKV^ MMTSC/WZ)O,#U^M2?0M4_;3^UYC-](K42L&5X,S%D M,2YH=&WM6VUOVS@2_BL\+^Z: )9EYV73E=, ;9+%%MCN]HH4A_M(BY3%"R5J M2DVR2NED'B&U1P^%PR'GX#"6>_BV*+LNK#[\2 MIM*ZX*4EJ>;40NE1Q?7%WX&T>#X8A<:5H:884JJ8SCR]]ZI)=;6R5Q/)_/!_/# M@=+3^.I3G-M"'L52*<,'S++>V2F6P">G[.RTX):2-*?: DJ_O'#ZX/AX?@TQNJ/9?F: M/U,(+Z[OX=!SKJW(1$IQK,W3N72C8=^'3_]3&W#1HFO[^SXHFH#SR+LZO>Z3 MU/EQ06Q.;4*>QH<;#7D:)UHZD9Q,E&9] _*0/"+*]-1=/F.AC@:T2I MDI)6AB?-C_&?\D&W'ZV>(6:ZT4)S(TD7JK9))FXXV^2W%KIY.QL76@W_[%'F MS0SG04IE:-I9 5:.Y[FP/$*/\:14_?'O*' M6NLO41$8I0LJQVV("$4PV4E.9YQH/A-\#DNPS84A?]140TC+!917"@)!E>1G MJ $K=_1/HC)FQH]5_3G7/"C!#A3" +5$=WN6 MK[FI>.H,1+T5F*88=!-&&IPR6;3=L(.*'50\*U09/FM)QR\A;6^$^U!(G1(8U&QWM\WU4='3-_Y2\%[@:4'DE0/T$B MT (8'_!HRYT;RCH-9= 0]G,==D "7]0'?PI@!J K88)05SCP], M/3&"":H%=D#XQ,>1K!(UU0:3$0>HQF4NCH(HP\$@"Y0'*U441[^6%)D3=,L9 ML4IJH(9/D=J9'?R:VS8E M>9ZVW83>5+6N )6,R]C2%":>:]WMM4QY"8F8!'"".[Q"U$.1NK0>@ =107, M:4L@:)=/[2 ((2C=-@BZG%%9.]* \;-SD< MXD!%(##&;Z5,8.R_;,%=:!I=2G/<)\J^O@5+)LT.E -1[CT!]HQ1^0XW=KBQ M/;C!M@TW+GQ(W@YM?)H3MB_X9.\+53) (F 3:]+!\!3PP3V(PF=49;VT:]];E5.SS-J0ASCDXLRQ M,^>/P)P61(IK+L-3J37Y_I]VD4.KW5;/RX>H;XY"QR]CJ]B]Y\$:_.JO: "R MDC:&K!@!HL ]TK-;NS5+TVC-A%7:+#,B5P JBT)8R_G_X5P3!3D7WF<"['-* M]@!I@.(8I%#PC?MSR/VH!YCLHK,O4/;':3W8H\>)18LN)S-9M"+^5DN!N MB'M!%)K&YS"IX!#3(8E9;LS..;W&K,1O2+B\Q.VCN!=3FL?"]T**L(?JGUUM M8 N4047#EV3ABZ@2=E^@"D #3(Z^3XT,Y$6F+F"Z@5=<9P))V_@ ?9?V[-!B MR]!BZW9LWT)VDVE8M/L0N]SQ#(A^]S)8@(F^3PY$.5-RQC%#*.DTO-.F S7A M1275@L/=>:X\'Z$=$ +0>)3T:? 7#.<7VS%W7L:#U9T0R-N %N9^%N/I%YPQ M,!<[-M#:JJ; GZQQ)9T#.,-5< 89+&FA3(\X;[WI^5,0#FD:.T/[HX! RV!> MPPCOHZ#T&'2VJ.):W+>.][248QC@RUB-&YOK"&$FF< :>QW-P6=?/3+40M^E M*)T8)6O+.YUNCC&%SRY6OC^GKS?G1[%)FZ?UEGU9\L& M[-90/$T*^+"A1([UC<=Q-X8/'<-G':;S7/",7-[PM$: );^WMI@NP@;-;ORV M=_SV/OI7!( MWQK$_;6!:RBS7P4?V_W^%:4#_V-]+.[JZ=8JG2]IUX2FUU.M MZI(A150Z:0"M=2*Z>R.0#310BI)'X7K8H8OAV'6',';+EL>\*TA](D],: :L M,*$S)5@8\Y.?!D>C)?3ZLJ'C'/[XN#N/?O8_4$L#!!0 ( +. IUCPF!7U M @D "0_ 7 8FQD+3(P,C0P,S,Q>&5X,S%D,BYH=&WM6V%SVS82_2LX M=7JQ9T11DNW8I1S/)+8SS5S3NAGG;NXC2( BSA#! J!DW:_O+@!*E*PT=F.[ M2JK,Q#9!8+%88!_>+HC3?T3195G0,N.,_'C]_B?"5%9/>&E)ICFU4#H3MB#7 MJJIH2=YSK864Y(T6;,P)&?1[+WN#X5&O'T5GIR#K/#1294*.XN-XV!\>DOXP M.3I)!L?DZCW9^WA]ON\J7_QR?OW?JTO?Z]7'-S^].R>=*([_QQ?7%_[% M8:\_(->:ED98H4HJX_CRYP[I%-9621S/9K/>[*"G]#B^_A 7=B(/8ZF4X3UF M6>?L%$O@)Z?L['3"+2590;7A]E7GX_7;Z 1J6&$E/SN-F]^^;JK8_.R4B2DQ M=B[YJ\Z$ZK$H(ZNJY*!?V1&TC.'U6IW;:":8+9)!O__]J**,B7(<29Y;*.D- M?UB6:3$NEH7*#R[17%(KIAREM^1FDE.=I,H6H_4N-K6LFG:Y*FV4TXF0\^3% MM9AP0W[F,_)!36CYHNM+X+?A6N0O1JZV$?_G(!H&:/FMC:@48Q".RHZ\!9(P M^'2EDQEWXTF59/#R\K80J;#D8- ;GL8I6*IZ#*V&G]<*:Z_TLQQ/F$"PHE43 M+VPJ#.@IA9TGA6",ER#BG]^=#/L'H],8FS^6YFOVS,"]N'Z 0<^YMB(7&<6Y M-D]GTHV*?1TV_5]MP$3S5=W?=4%0"L8C_ZJ+TG1)Y@PY)[:@-B%/8\2-FCR- M%2U-)2>ITHSK5YU^!\8G98"8Q;.I:-8\!P5\BRA34M+*\*3Y8_1%-E@=1VMD M")INNE#=2-*YJFV2BUO.-MFM!6]>S\:$5L-_]B@+9XKK(*,R=.VT "U'LT)8 M'J'%>%*JF:95H\X)M J6#?H,>K!IL+9*J^_O3OF?U=8_HB!02D^H'+4Q(A3! M:B<%G7*B^53P&>S!MA"&_%93#3XMYU!>*? $59*WT *V[NA7HG+@O>3 =+O>F8(+,04=EPHH,@B@HB2TG).ZM+KFH"GP7\>?P;[4Z'D&3>&ZCE6F= ;#OVV9!HH8Z ,="E1:^P#*V1" VF' M:D#C#6@"TTU@$K*"F!I_+-O/N.9!" Y@(@QP2S2WI_F:FXIG3D&46X%JBL$P M8:;!*.F\;88=5.R@XEFAXN"K@0I.&U;KT798[RD-G# MWYFL&<@$!V]Y6A? 0> 67H%_(K0@Y$ 4OL".X+9FK6N )^;"PR[6J"54 ,!0 MX-4^D'#Z9-04))=J9AHTT7PLC(60VQ**A5YOT++; @73*'-'VQTN['#A67'A M<-MPX7K%B7"Y#(Y')GA^"$%QRU4YQ/10A.[UCE#-G2.#8PI<3>!PA!N<*F$* MK([5)D WD'+@,Q,FD\K4T Z)B%;2>W2E5<89%!NR!P[,."""]]++VZR@Y9B3 MU[#'?Z@EU!@/VGP>!+H8=&:W-_9L@_T\Y.'3HR4<4JM8@ +9_7-1(*J 6+YT< MS*R M2I14&PQ&'* :%[DX"J(,!X4L4!YL5%&<_5I29$XP+*?$,JB!%CY$:D=V\%?* ML2*0&V@/ZWH[R$SC'3LR\_<&HW2[P>C>?.$.)MV?:=P;F@#.IH(AXE"C2K>F MJ0&TPB0)PA#5K($$ "E!O6=@$+2I6P1(AQX.&#RV;0KR/&V[#:.I:ET!*AD7 ML649+#S7N\NUC'D)@9@$<((WO$+4PRIU:3T 3J*"IC3ED#0+I[:01!"4+9M M$'0YI;)VI ']D^FT45MCGFB_/,I6)(V&2@'HMQ; O09H? =;NQP8WMP@VT;;EQXE[SKVGB: M$](7[LU&_'@ 8<'82&59K=&!6X'(!JD392R4XW<8(,N S9L#7++WB28Y(!&P MB;7:0?$,\,$=1.$955DO]-KW6A74+*(VY"$.N3AS[,S9(S"G.9'BALMP*K56 MO_O%)G)HM4OU?/L0]9>CT-&WD2IVWWFP!K^Z2QJ K*2-(4M&@"CP@/#L3K9F MH1JMF;!*FT5$Y I Y&0BK.7\#SA7JB#FPO=,@'Y.R!X@#5 <@Q0*?F/>J(%' M_ELM0'T'A769N1.K_62'$M\\2FPYD=FZA/!K*0EF0]P7HM UGL-D@H-/AR!F MD9B=<7J#48E/2+BXQ.51W(G]#=_YF!X9W6IQ&KSK8M-,@U[W@R"N$ZA9^2>-=&%P^L#!7[]KTEVX8 M+MI@20M/'(@TO09I@P N"S]=Z*+)O-Q+JNL1 T7@+4)>4_GY+A+\)*<\X^'ST]PF<8W>^C2[A2= M?-=W_YYW6+&)5V[<+$>U?7,R7%?^:2*YQ_2Y)YBQW6Q]3;/U;Y%Q7UF]QCSX#_Q&CH M_UB?COL:N[4)%PMNE=+L9JQ573)D=4HGS:[4NM*\^B)P"510BI)'X;F_0CG# MO>E0M'*7>OV>=@6A2^1Y!\TAYDCH5 D6IOWXA][A8+&)^K*^HQ3^_K>[4'[V M.U!+ P04 " "S@*=8S>M."F\% #U&0 %P &)L9"TR,#(T,#,S,7AE M>#,R9#$N:'1M[5E[;]I($/\J"^+ MUUVO ]RGOUD_B"'1M8UHKJT:"S4;L@/I^,9G]=C\M3KV_/WE^.H&58UI^] MD66=S\[+"X>F[RD)0Y;,#4XC MA3MF]^1A3[)Y_+ I2N-<23E1[)YJZ0VY :=$NKY0L;=[Q%.<:CDD6OO8(Z8_]0%(T&*KI2!N%LCL*ULE[I M ;WS!0[PX7L7,9PIZ7=,96#YZ*MV'5MW/:Z6IM\YYL*<*('I1 MB44I[)YEJ"=G:NW&+ QI@B+^>'7P-+L^])\QY\!PHO*KW#H:#R=75Y< MCM[.+B0&<21HH(4%$NK"=Y8R',!(R->% Q12TQEW;&XD%UKQU ML7*\=@>07[%HW8$TEUE.T#%*P V*0@3"B?U&R]/\-T3Z)*&9,5EQNH:W@=)7 MNK;=[8!S#+?FC3DR-XQ.KV]WD(^HCI:G!?@T*U@6:[A+Q))3++;NCQ5B17R. MA@@94GG:LEOH/,ZKZK=99RD)ZG6E0,EA!()SDF;4K?_Q]F!P;4?#,EW/"W1J M=0U.UB)7;L16-&P"]N\\TX'W&I6WU+-VH9+X"?>2U?IB3DB25NKTWB!7Y=E*GP.GC3>TL*G3-L'CF#]7W7*I!:%6*QJ*)UE)F#5:(8#"@](&_!0 MIW\0MC=(QO(A\0Z+$L8K;!T2;'HJ.#LG/53 Z==P/CI>:/:C8X'\;4\7F@T> M="@LG2-6D6?[@O%6@U&DP1,Y6VPQ]%ZB7*,@^H7^GQS]W>\1_2R)]+( 6X!$ MA"4(:)84.*L*0D28+@^II)G&9T=?)CAN(!L>3SBB-TL1L%FGX(I8@H.+WD>! M8=$(%_=WI,IY"6^14EFT4&/-;@_.':*->2%$]RQ0)?=K2M:I5%X@O0GVI M@$[SN$PK/0/I#,(4V2Z!=J,FE@.6WFG ML!J?6HES:DPO,'*#@1+N"S8V"C?FU(B9\)GBNZ8V4Y MFE;?VZ7@IS2OP.]V&7Z^G=]@.CG' N9B][*&H[)U*6#QE9&I8%+C+UT!.H>% M\,HN_E[6(BNSF@/7@SW?62A>J,(]+Y2Z__B?X_@KAL^-X8N&Z4L>9_R*W_<; MOX-KR;!53;%7?13$]D[@ZCZTO+_MV_V@/WH/GHC%EWIZ]\GWUA/J9OQZCSNP M_1C$<7PPZC;DD;O_*\&^RL;R.]XTC3X)[N92Y$FHVU4AW;IH-SRP?:'2<5?G MNLQOO1VHMK9>#NR^>$C)G!IE6T4B'(M<U9_W/:-A3_5S1Z6\,=_DH(U";GNSA3X8Q26*(MOU>@//=='L&IW<+,9M37PQ'2_^F$V*76NEE<&@.@D%0R,AI:U6]! MN^3A;C0,Z2W*Y(Z1\]8:BQ5-#,E3KVNGT@=."Y8/:+;&AH8R]AS;_ME/<1C2 M9&4P$DG/<\$KCEXU--D3;L^0LA,7)-J9+*E'7-=VAM01/I97TPLTG\RF\\617?QD/-I0]*H#7$LB)/HUCY.L M@WZC 4$S03(:JFJ&DQ"-8THB=$D3*'<4,S2-(B 2B$>JOKW**0,:+E(3G #\N.DJ<$+$FF6=8[]"'A M&T:@YGI/*](2+QD8PD5(Q'G+;H'S&"N+X'Z"Z]B&Y)6,?MGWFF N_7"G"A9^5"*> 3'B6Y;U62 M!9B56VLM0$M_$U-)#.4QXD%.")R6ZG3/@*OT;*G/B=.&1E$+\C&G@JA& M)U-[WJ'P!+<1;.KT3L+V'LDDR 4IX2S\Z(+"CB]"L[]P5JQ M]P<<^-N^JCM[/*A06"I'+)UGQX)QH\_0:?")G-53-%&UT#,TT0_T_\_1[WZ/ MZ*=)I(8:; $089H H&FB<586A A351Y2.+P5/CMJ&<.M ]A@>SBX82$%P&8= MS17M#W00&.I^6!_W0)6S MX\)4+OF1T4&/-;@_-)=%./I*BZTNB$/F^I6M6J M"L07H;Y00*5Y7*25N@JI#((4:99 NU83BWN6FJG!5F.UVK64YI08WF/E$(*\ M@MHIW'CATE;SUP&L:C>WFG . B/&-Y6'JK&A4.PMX=[\P=B !SY[&]ROXV7& M62Z)7]6OIHG%];3\;M:!?[2MUS4'W:=HFT9NLP _/(#?X'IR :7+@[YEA_I% MTZ(!\95A*0%2(2_=(G 2#=$S6_\]KD569C5N7'<&?6>Q>*3B]K!8JO3^CP/Y M(X@/#N*CQNG+'VC\B.+W&\63F: 0K!2B=2]N[8/ 59UH<GC M_IEYVM^?,L6A4L $*9!0 4 M " =;+ !B;&0M,C R-# S,S%?<')E+GAM;%!+ 0(4 Q0 ( +. MIUB2XJ!>!N$! $@$&@ 4 " 8T7 0!B;&0M,C R-# S,S%X M,3!Q+FAT;5!+ 0(4 Q0 ( +. IUA03KFI#0D &,_ 7 M " <7X @!B;&0M,C R-# S,S%X97@S,60Q+FAT;5!+ 0(4 Q0 ( +. MIUCPF!7U @D "0_ 7 " 0<" P!B;&0M,C R-# S,S%X M97@S,60R+FAT;5!+ 0(4 Q0 ( +. IUC-ZTX*;P4 /49 7 M " 3X+ P!B;&0M,C R-# S,S%X97@S,F0Q+FAT;5!+ 0(4 Q0 ( M +. IU@O;NP6>@4 /X9 7 " >(0 P!B;&0M,C R-# S C,S%X97@S,F0R+FAT;5!+!08 "@ * )P" "1%@, ! end XML 79 bld-20240331x10q_htm.xml IDEA: XBRL DOCUMENT 0001633931 bld:ShareRepurchaseProgram2024Member us-gaap:SubsequentEventMember 2024-05-03 0001633931 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001633931 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001633931 us-gaap:TreasuryStockCommonMember 2024-03-31 0001633931 us-gaap:RetainedEarningsMember 2024-03-31 0001633931 us-gaap:CommonStockMember 2024-03-31 0001633931 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001633931 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001633931 us-gaap:TreasuryStockCommonMember 2023-12-31 0001633931 us-gaap:RetainedEarningsMember 2023-12-31 0001633931 us-gaap:CommonStockMember 2023-12-31 0001633931 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001633931 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001633931 us-gaap:TreasuryStockCommonMember 2023-03-31 0001633931 us-gaap:RetainedEarningsMember 2023-03-31 0001633931 us-gaap:CommonStockMember 2023-03-31 0001633931 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001633931 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001633931 us-gaap:TreasuryStockCommonMember 2022-12-31 0001633931 us-gaap:RetainedEarningsMember 2022-12-31 0001633931 us-gaap:CommonStockMember 2022-12-31 0001633931 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001633931 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001633931 us-gaap:EmployeeStockOptionMember 2023-12-31 0001633931 us-gaap:EmployeeStockOptionMember 2024-03-31 0001633931 bld:LongTermIncentivePlanMember 2024-03-31 0001633931 srt:MaximumMember bld:LongTermIncentivePlanMember 2024-03-31 0001633931 us-gaap:RestrictedStockMember 2023-12-31 0001633931 us-gaap:OperatingSegmentsMember bld:ResidentialMember bld:InstallationSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:ResidentialMember bld:DistributionSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:RainGuttersMember bld:InstallationSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:RainGuttersMember bld:DistributionSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:InsulationAndAccessoriesMember bld:InstallationSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:InsulationAndAccessoriesMember bld:DistributionSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:GlassAndWindowsMember bld:InstallationSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:CommercialAndIndustrialMember bld:InstallationSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:CommercialAndIndustrialMember bld:DistributionSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:AllOtherProductsMember bld:InstallationSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:AllOtherProductsMember bld:DistributionSegmentMember 2024-01-01 2024-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember bld:ResidentialMember 2024-01-01 2024-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember bld:RainGuttersMember 2024-01-01 2024-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember bld:InsulationAndAccessoriesMember 2024-01-01 2024-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember bld:CommercialAndIndustrialMember 2024-01-01 2024-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember bld:AllOtherProductsMember 2024-01-01 2024-03-31 0001633931 bld:ResidentialMember 2024-01-01 2024-03-31 0001633931 bld:RainGuttersMember 2024-01-01 2024-03-31 0001633931 bld:InsulationAndAccessoriesMember 2024-01-01 2024-03-31 0001633931 bld:GlassAndWindowsMember 2024-01-01 2024-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember 2024-01-01 2024-03-31 0001633931 bld:CommercialAndIndustrialMember 2024-01-01 2024-03-31 0001633931 bld:AllOtherProductsMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:ResidentialMember bld:InstallationSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:ResidentialMember bld:DistributionSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:RainGuttersMember bld:InstallationSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:RainGuttersMember bld:DistributionSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:InsulationAndAccessoriesMember bld:InstallationSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:InsulationAndAccessoriesMember bld:DistributionSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:GlassAndWindowsMember bld:InstallationSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:CommercialAndIndustrialMember bld:InstallationSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:CommercialAndIndustrialMember bld:DistributionSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:AllOtherProductsMember bld:InstallationSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:AllOtherProductsMember bld:DistributionSegmentMember 2023-01-01 2023-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember bld:ResidentialMember 2023-01-01 2023-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember bld:RainGuttersMember 2023-01-01 2023-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember bld:InsulationAndAccessoriesMember 2023-01-01 2023-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember bld:CommercialAndIndustrialMember 2023-01-01 2023-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember bld:AllOtherProductsMember 2023-01-01 2023-03-31 0001633931 bld:ResidentialMember 2023-01-01 2023-03-31 0001633931 bld:RainGuttersMember 2023-01-01 2023-03-31 0001633931 bld:InsulationAndAccessoriesMember 2023-01-01 2023-03-31 0001633931 bld:GlassAndWindowsMember 2023-01-01 2023-03-31 0001633931 bld:EliminationsAndReconcilingItemsMember 2023-01-01 2023-03-31 0001633931 bld:CommercialAndIndustrialMember 2023-01-01 2023-03-31 0001633931 bld:AllOtherProductsMember 2023-01-01 2023-03-31 0001633931 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001633931 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:InstallationSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:DistributionSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember 2024-01-01 2024-03-31 0001633931 us-gaap:IntersegmentEliminationMember 2024-01-01 2024-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:InstallationSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember bld:DistributionSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:OperatingSegmentsMember 2023-01-01 2023-03-31 0001633931 us-gaap:IntersegmentEliminationMember 2023-01-01 2023-03-31 0001633931 us-gaap:CorporateNonSegmentMember 2024-01-01 2024-03-31 0001633931 us-gaap:CorporateNonSegmentMember 2023-01-01 2023-03-31 0001633931 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001633931 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001633931 srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2024-01-01 2024-03-31 0001633931 srt:MaximumMember us-gaap:RevolvingCreditFacilityMember 2024-01-01 2024-03-31 0001633931 bld:AmendmentNo.4ToCreditAgreementMember us-gaap:SecuredDebtMember 2024-03-31 0001633931 bld:AmendmentNo.4ToCreditAgreementMember bld:DelayedDrawTermLoanFacilityTwoMember 2023-07-26 0001633931 us-gaap:RevolvingCreditFacilityMember 2024-03-31 0001633931 us-gaap:RevolvingCreditFacilityMember 2023-12-31 0001633931 bld:InstallationSegmentMember 2024-01-01 2024-03-31 0001633931 2022-10-01 2022-12-31 0001633931 bld:InstallationSegmentMember 2023-12-31 0001633931 bld:DistributionSegmentMember 2023-12-31 0001633931 bld:DistributionSegmentMember 2024-01-01 2024-03-31 0001633931 bld:InstallationSegmentMember 2024-03-31 0001633931 bld:DistributionSegmentMember 2024-03-31 0001633931 us-gaap:RestrictedStockMember 2024-03-31 0001633931 bld:EquipmentNotesMember 2024-01-01 2024-03-31 0001633931 bld:SeniorNotesDue2032Member us-gaap:DebtInstrumentRedemptionPeriodTwoMember 2024-01-01 2024-03-31 0001633931 bld:SeniorNotesDue2032Member us-gaap:DebtInstrumentRedemptionPeriodThreeMember 2024-01-01 2024-03-31 0001633931 bld:SeniorNotesDue2032Member us-gaap:DebtInstrumentRedemptionPeriodFourMember 2024-01-01 2024-03-31 0001633931 bld:SeniorNotesDue2032Member us-gaap:DebtInstrumentRedemptionPeriodFiveMember 2024-01-01 2024-03-31 0001633931 bld:ChangeInControlScenarioMember bld:SeniorNotesDue2032Member 2024-01-01 2024-03-31 0001633931 bld:ChangeInControlScenarioMember bld:SeniorNotesDue2029Member 2024-01-01 2024-03-31 0001633931 bld:AmendmentNo.4ToCreditAgreementMember 2024-01-01 2024-03-31 0001633931 srt:MinimumMember bld:EquipmentNotesMember 2024-03-31 0001633931 srt:MaximumMember bld:EquipmentNotesMember 2024-03-31 0001633931 bld:AmendmentNo.4ToCreditAgreementMember 2024-03-31 0001633931 bld:SeniorNotesDue2032Member us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsNonrecurringMember 2024-03-31 0001633931 bld:SeniorNotesDue2029Member us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsNonrecurringMember 2024-03-31 0001633931 us-gaap:SecuredDebtMember 2024-03-31 0001633931 bld:SeniorNotesDue2032Member 2024-03-31 0001633931 bld:SeniorNotesDue2029Member 2024-03-31 0001633931 bld:EquipmentNotesMember 2024-03-31 0001633931 us-gaap:SecuredDebtMember 2023-12-31 0001633931 bld:SeniorNotesDue2032Member 2023-12-31 0001633931 bld:SeniorNotesDue2029Member 2023-12-31 0001633931 bld:EquipmentNotesMember 2023-12-31 0001633931 bld:BaseRateBorrowingsMember bld:AmendmentNo.4ToCreditAgreementMember bld:DelayedDrawTermLoanFacilityOneMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2024-01-01 2024-03-31 0001633931 bld:BaseRateBorrowingsMember bld:AmendmentNo.4ToCreditAgreementMember bld:FederalFundsRateMember 2024-01-01 2024-03-31 0001633931 us-gaap:AccruedLiabilitiesMember 2024-03-31 0001633931 us-gaap:AccruedLiabilitiesMember 2023-12-31 0001633931 bld:ReceivablesNetMember 2024-03-31 0001633931 bld:ReceivablesNetMember 2023-12-31 0001633931 2022-12-31 0001633931 bld:Acquisitions2024Member us-gaap:CustomerRelationshipsMember 2024-03-31 0001633931 bld:MorrisBlackMember 2024-03-01 2024-03-01 0001633931 bld:CommercialInsulationBusinessPciMember 2024-03-01 2024-03-01 0001633931 bld:BrabbleMember 2024-02-15 2024-02-15 0001633931 bld:SriHoldingsMember 2023-01-01 2023-03-31 0001633931 2023-03-31 0001633931 us-gaap:RestrictedStockMember bld:VestingBasedOnServiceMember 2024-01-01 2024-03-31 0001633931 us-gaap:RestrictedStockMember bld:VestingBasedOnServiceMember 2023-01-01 2023-03-31 0001633931 us-gaap:RestrictedStockMember bld:VestingBasedOnMarketConditionsMember 2023-01-01 2023-03-31 0001633931 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-03-31 0001633931 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001633931 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001633931 us-gaap:TreasuryStockCommonMember 2024-01-01 2024-03-31 0001633931 us-gaap:TreasuryStockCommonMember 2023-01-01 2023-03-31 0001633931 bld:Acquisitions2024Member us-gaap:CustomerRelationshipsMember 2024-01-01 2024-03-31 0001633931 2024-04-30 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember bld:VestingBasedOnPerformanceMember 2024-02-21 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember bld:VestingBasedOnPerformanceMember 2024-02-21 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember bld:VestingBasedOnPerformanceMember 2024-02-21 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember bld:VestingBasedOnPerformanceMember 2024-02-21 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember bld:VestingBasedOnPerformanceMember 2023-02-21 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember bld:VestingBasedOnPerformanceMember 2023-02-21 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember bld:VestingBasedOnPerformanceMember 2023-02-21 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember bld:VestingBasedOnPerformanceMember 2023-02-21 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember bld:VestingBasedOnPerformanceMember 2022-02-15 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember bld:VestingBasedOnPerformanceMember 2022-02-15 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember bld:VestingBasedOnPerformanceMember 2022-02-15 0001633931 us-gaap:RestrictedStockMember bld:ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember bld:VestingBasedOnPerformanceMember 2022-02-15 0001633931 us-gaap:RestrictedStockMember bld:VestingBasedOnPerformanceMember 2024-02-21 2024-02-21 0001633931 us-gaap:RestrictedStockMember bld:VestingBasedOnPerformanceMember 2023-02-21 2023-02-21 0001633931 us-gaap:RestrictedStockMember bld:VestingBasedOnPerformanceMember 2022-02-15 2022-02-15 0001633931 bld:RestrictedStockAwardsGrantedFebruary2021Member bld:VestingBasedOnPerformanceMember 2024-01-01 2024-03-31 0001633931 bld:RestrictedStockAwardsGrantedFebruary2021Member bld:VestingBasedOnPerformanceMember 2023-01-01 2023-03-31 0001633931 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-03-31 0001633931 us-gaap:RestrictedStockMember 2023-01-01 2023-03-31 0001633931 us-gaap:RestrictedStockMember 2022-01-01 2022-03-31 0001633931 us-gaap:RestrictedStockMember 2024-01-01 2024-03-31 0001633931 us-gaap:RestrictedStockMember bld:VestingBasedOnPerformanceMember 2024-01-01 2024-03-31 0001633931 bld:EventOfDefaultScenarioMember us-gaap:SeniorNotesMember 2024-01-01 2024-03-31 0001633931 bld:SeniorNotesDue2032Member 2024-03-31 0001633931 bld:SeniorNotesDue2029Member 2024-03-31 0001633931 bld:AmendmentNo.4ToCreditAgreementMember us-gaap:RevolvingCreditFacilityMember 2024-03-31 0001633931 2023-01-01 2023-03-31 0001633931 bld:VestingBasedOnServiceMember 2024-01-01 2024-03-31 0001633931 bld:VestingBasedOnPerformanceMember 2024-01-01 2024-03-31 0001633931 bld:VestingBasedOnMarketConditionsMember 2024-01-01 2024-03-31 0001633931 bld:VestingBasedOnServiceMember 2023-01-01 2023-03-31 0001633931 bld:VestingBasedOnPerformanceMember 2023-01-01 2023-03-31 0001633931 bld:VestingBasedOnMarketConditionsMember 2023-01-01 2023-03-31 0001633931 bld:BaseRateBorrowingsMember bld:AmendmentNo.4ToCreditAgreementMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2024-01-01 2024-03-31 0001633931 bld:SeniorNotesDue2032Member bld:DebtInstrumentRedemptionPeriodSixMember 2024-01-01 2024-03-31 0001633931 bld:SofrRateBorrowingsMember bld:AmendmentNo.4ToCreditAgreementMember 2024-01-01 2024-03-31 0001633931 bld:SeniorNotesDue2032Member bld:DebtInstrumentRedemptionPeriodSevenMember 2024-01-01 2024-03-31 0001633931 srt:MinimumMember bld:SofrRateBorrowingsMember bld:AmendmentNo.4ToCreditAgreementMember bld:DelayedDrawTermLoanFacilityOneMember 2024-01-01 2024-03-31 0001633931 srt:MinimumMember bld:BaseRateBorrowingsMember bld:AmendmentNo.4ToCreditAgreementMember bld:DelayedDrawTermLoanFacilityOneMember 2024-01-01 2024-03-31 0001633931 srt:MaximumMember bld:SofrRateBorrowingsMember bld:AmendmentNo.4ToCreditAgreementMember bld:DelayedDrawTermLoanFacilityOneMember 2024-01-01 2024-03-31 0001633931 srt:MaximumMember bld:BaseRateBorrowingsMember bld:AmendmentNo.4ToCreditAgreementMember bld:DelayedDrawTermLoanFacilityOneMember 2024-01-01 2024-03-31 0001633931 bld:SpiMember us-gaap:SubsequentEventMember 2024-04-22 2024-04-22 0001633931 bld:InsulationWorksIncMember us-gaap:SubsequentEventMember 2024-05-03 2024-05-03 0001633931 2024-01-01 2024-03-31 0001633931 2024-03-31 0001633931 2023-12-31 iso4217:USD pure shares iso4217:USD shares bld:segment bld:item 0 0 0001633931 false --12-31 2024 Q1 10-Q true 2024-03-31 false 001-36870 TopBuild Corp DE 47-3096382 475 North Williamson Boulevard Daytona Beach FL 32114 386 304-2200 Common stock, par value $0.01 per share BLD NYSE Yes Yes Large Accelerated Filer false false false 31817709 968809000 848565000 22398000 23948000 829221000 799009000 375056000 364731000 29376000 36939000 2202462000 2049244000 201392000 204629000 266422000 264487000 2052319000 2042568000 578335000 591058000 9522000 10865000 5310452000 5162851000 467863000 469585000 46230000 47039000 201402000 187217000 67041000 65780000 1829000 1917000 784365000 771538000 1362498000 1373028000 243622000 243930000 60179000 58783000 142552000 146213000 3716000 4150000 1487000 1554000 2598419000 2599196000 0.01 0.01 10000000 10000000 0 0 0.01 0.01 250000000 250000000 39549030 31818099 39492037 31776039 395000 394000 7730931 7715998 705386000 699327000 912481000 906334000 2523300000 2370919000 -18757000 -14665000 2712033000 2563655000 5310452000 5162851000 1278717000 1265238000 891567000 895023000 387150000 370215000 172642000 170784000 214508000 199431000 18795000 18039000 11282000 1923000 -7513000 -16116000 206995000 183315000 54614000 47445000 152381000 135870000 4.82 4.31 4.79 4.28 31641454 31550658 31843818 31713239 152381000 135870000 -4092000 1753000 148289000 137623000 152381000 135870000 34257000 32100000 5127000 3135000 561000 -185000 720000 720000 4464000 1338000 2902000 1642000 240000 -563000 28486000 10847000 12056000 -20096000 -7541000 -11579000 -2659000 -25480000 16170000 -3339000 -783000 2239000 178777000 169801000 19881000 15580000 22240000 45845000 1608000 455000 -40513000 -60970000 12059000 9743000 6059000 6350000 1020000 1029000 -17098000 -15064000 -922000 -58000 120244000 93709000 848565000 240069000 968809000 333778000 13737000 18271000 307000 835000 0.01 393000 -692799000 887367000 1756665000 -21920000 1929706000 135870000 135870000 3135000 3135000 95012 2000 2000 32594 6350000 6350000 28840 1028000 1028000 1753000 1753000 395000 -699149000 891530000 1892535000 -20167000 2065144000 0.01 394000 -699327000 906334000 2370919000 -14665000 2563655000 152381000 152381000 5127000 5127000 51236 1000 1000 14933 6059000 6059000 5757 1020000 1020000 -4092000 -4092000 395000 -705386000 912481000 2523300000 -18757000 2712033000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">1.  BASIS OF PRESENTATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">TopBuild is listed on the NYSE under the ticker symbol “BLD.” We report our business in two segments: Installation and Specialty Distribution.  Our Installation segment primarily installs insulation and other building products. Our Specialty Distribution segment primarily sells and distributes insulation and other building products. Our segments are based on our operating units, for which financial information is regularly evaluated by our chief operating decision maker.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We believe the accompanying unaudited condensed consolidated financial statements contain all adjustments, of a normal recurring nature, necessary to state fairly our financial position as of March 31, 2024, our results of operations and comprehensive income for the three months ended March 31, 2024 and 2023, and our cash flows for the three months ended March 31, 2024 and 2023. The condensed consolidated balance sheet at December 31, 2023 was derived from our audited financial statements, but does not include all disclosures required by GAAP.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">These condensed consolidated financial statements and related notes should be read in conjunction with the audited Consolidated Financial Statements included in the Company’s <a href="https://www.sec.gov/ix?doc=/Archives/edgar/data/1633931/000155837024001999/bld-20231231x10k.htm" style="-sec-extract:exhibit;font-family:&quot;'Times New Roman','Times','serif'&quot;;"><span style="font-family:'Times New Roman','Times','serif';font-style:normal;font-weight:normal;">Annual report for the year ended December 31, 2023</span></a>, as filed with the SEC on February 28, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-family:'TimesNewRoman';font-weight:bold;">2.  ACCOUNTING POLICIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRoman';visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Financial Statement Presentation.</span>  Our condensed consolidated financial statements have been developed in conformity with GAAP, which requires management to make estimates and assumptions. These estimates and assumptions affect the reported amounts of assets and liabilities and disclosures of contingent liabilities at the date of the financial statements, as well as the reported amounts of revenues and expenses during the reporting periods. Actual results could differ materially from these estimates. All intercompany transactions between TopBuild entities have been eliminated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Recently Adopted Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In October 2021, the FASB issued ASU 2021-08, “Accounting for Contract Assets and Contract Liabilities from Contracts with Customers”. This standard improved the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability, as well as payment terms and their effect on subsequent revenue recognized by the acquirer. This standard became effective for us on January 1, 2023, and did not have a material impact to our financial statements upon adoption.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Recently Issued Accounting Pronouncements Not Yet Adopted</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In November 2023, the FASB issued ASU 2023-07, “Segment Reporting (Topic 280), Improvements to Reportable Segment Disclosures”.  This standard amends Topic 280 to require all entities to disclose, on an annual and interim basis, significant segment expenses and an amount for other segment items by reportable segment.  This standard is effective for fiscal years beginning after December 15, 2023, with early adoption permitted.  We do not anticipate that this standard will affect our consolidated results of operations, financial position or cash flows and we are assessing the impact of adoption in our disclosures to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In December 2023, the FASB issued ASU 2023-09, “Income Taxes (Topic 740), Improvements to Income Tax Disclosures”.  This standard amends Topic 740 to require all entities to disclose specific categories in the rate reconciliation, income taxes paid and other income tax information.  This standard is effective for fiscal years beginning after December 15, 2024, with early adoption permitted and should be applied on a prospective basis.  We do not anticipate that this standard will affect our consolidated results of operations, financial position or cash flows and we are assessing the impact of its adoption in our disclosures to our consolidated financial statements<span style="font-family:'TimesNewRomanPSMT';">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Financial Statement Presentation.</span>  Our condensed consolidated financial statements have been developed in conformity with GAAP, which requires management to make estimates and assumptions. These estimates and assumptions affect the reported amounts of assets and liabilities and disclosures of contingent liabilities at the date of the financial statements, as well as the reported amounts of revenues and expenses during the reporting periods. Actual results could differ materially from these estimates. All intercompany transactions between TopBuild entities have been eliminated.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Recently Adopted Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In October 2021, the FASB issued ASU 2021-08, “Accounting for Contract Assets and Contract Liabilities from Contracts with Customers”. This standard improved the accounting for acquired revenue contracts with customers in a business combination by addressing diversity in practice and inconsistency related to recognition of an acquired contract liability, as well as payment terms and their effect on subsequent revenue recognized by the acquirer. This standard became effective for us on January 1, 2023, and did not have a material impact to our financial statements upon adoption.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Recently Issued Accounting Pronouncements Not Yet Adopted</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In November 2023, the FASB issued ASU 2023-07, “Segment Reporting (Topic 280), Improvements to Reportable Segment Disclosures”.  This standard amends Topic 280 to require all entities to disclose, on an annual and interim basis, significant segment expenses and an amount for other segment items by reportable segment.  This standard is effective for fiscal years beginning after December 15, 2023, with early adoption permitted.  We do not anticipate that this standard will affect our consolidated results of operations, financial position or cash flows and we are assessing the impact of adoption in our disclosures to the consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In December 2023, the FASB issued ASU 2023-09, “Income Taxes (Topic 740), Improvements to Income Tax Disclosures”.  This standard amends Topic 740 to require all entities to disclose specific categories in the rate reconciliation, income taxes paid and other income tax information.  This standard is effective for fiscal years beginning after December 15, 2024, with early adoption permitted and should be applied on a prospective basis.  We do not anticipate that this standard will affect our consolidated results of operations, financial position or cash flows and we are assessing the impact of its adoption in our disclosures to our consolidated financial statements<span style="font-family:'TimesNewRomanPSMT';">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><span style="font-family:'TimesNewRomanPSMT';font-weight:bold;line-height:1.19;margin-bottom:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-family:'TimesNewRomanPSMT';font-weight:bold;">3.  REVENUE RECOGNITION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Revenue is disaggregated between our Installation and Specialty Distribution segments and further based on market and product, as we believe this best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following tables present our revenues disaggregated by market (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';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:15.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;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:82.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;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;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" 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;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Installation</b></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;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Specialty </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Distribution</b></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;line-height:1.19;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.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Eliminations</b></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;line-height:1.19;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.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Installation</b></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;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Specialty </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Distribution</b></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;line-height:1.19;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.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Eliminations</b></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;line-height:1.19;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.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:15.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Residential</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 674,436</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 216,397</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (55,990)</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 834,843</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 645,703</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 224,326</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (51,390)</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 818,639</p></td></tr><tr><td style="vertical-align:bottom;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Commercial/Industrial</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 124,307</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 329,397</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (9,830)</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 443,874</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 121,387</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 334,049</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (8,837)</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 446,599</p></td></tr><tr><td style="vertical-align:bottom;width:15.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="white-space:pre-wrap;"> Net sales</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 798,743</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 545,794</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (65,820)</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,278,717</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 767,090</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 558,375</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,265,238</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">The following tables present our revenues disaggregated by product (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';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:15.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:83.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;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;white-space:nowrap;width:15.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Specialty </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Specialty </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:15.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Insulation and accessories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 643,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 490,669</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (57,509)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,076,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 600,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 502,802</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (51,973)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,051,596</p></td></tr><tr><td style="vertical-align:bottom;width:15.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Glass and windows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 58,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 58,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 63,442</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 63,442</p></td></tr><tr><td style="vertical-align:bottom;width:15.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Gutters</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 27,967</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 40,316</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (7,309)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 60,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 28,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 39,842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (7,165)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 60,955</p></td></tr><tr><td style="vertical-align:bottom;width:15.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">All other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 69,009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 14,809</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (1,002)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 82,816</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 74,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 15,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (1,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 89,245</p></td></tr><tr><td style="vertical-align:bottom;width:15.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="white-space:pre-wrap;"> Net sales</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 798,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 545,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (65,820)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,278,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 767,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 558,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,265,238</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table represents our contract assets and contract liabilities with customers, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin: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;line-height:1.19;margin: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;line-height:1.19;margin: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;line-height:1.19;margin: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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Included in Line Item on</b></p></td><td style="vertical-align:bottom;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:34.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Condensed Consolidated Balance Sheets</b></p></td><td style="vertical-align:bottom;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Contract Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Receivables, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Receivables, net</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin: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:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,591</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,882</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Contract Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Accrued liabilities</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin: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:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,716</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,365</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The aggregate amount remaining on uncompleted performance obligations was $392.4 million as of March 31, 2024. We expect to satisfy the performance obligations and recognize revenue on substantially all of these uncompleted contracts over the next 18 months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">On certain of our long-term contracts, a percentage of the total project cost is withheld and not invoiced to the customer and collected until satisfactory completion of the customer’s project, typically within a year. This amount is referred to as retainage and is common practice in the construction industry. Retainage receivables are classified as a component of Receivables, net on our condensed consolidated balance sheets and were $82.2 million and $81.9 million as of March 31, 2024 and December 31, 2023, respectively.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following tables present our revenues disaggregated by market (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';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:15.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;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:82.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;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;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" 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;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Installation</b></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;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Specialty </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Distribution</b></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;line-height:1.19;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.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Eliminations</b></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;line-height:1.19;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.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Installation</b></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;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Specialty </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Distribution</b></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;line-height:1.19;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.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Eliminations</b></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;line-height:1.19;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.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:15.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Residential</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 674,436</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 216,397</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (55,990)</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 834,843</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 645,703</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 224,326</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (51,390)</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 818,639</p></td></tr><tr><td style="vertical-align:bottom;width:15.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Commercial/Industrial</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 124,307</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 329,397</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (9,830)</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 443,874</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 121,387</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 334,049</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (8,837)</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 446,599</p></td></tr><tr><td style="vertical-align:bottom;width:15.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="white-space:pre-wrap;"> Net sales</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 798,743</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.14%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 545,794</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (65,820)</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,278,717</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 767,090</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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 558,375</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.98%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,265,238</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';">The following tables present our revenues disaggregated by product (in thousands):</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';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:15.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="23" style="vertical-align:bottom;white-space:nowrap;width:83.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;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;white-space:nowrap;width:15.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:40.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:41.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:15.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Specialty </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Installation</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Specialty </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Distribution</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Eliminations</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.26%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:15.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Insulation and accessories</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 643,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 490,669</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (57,509)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,076,810</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 600,767</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 502,802</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (51,973)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,051,596</p></td></tr><tr><td style="vertical-align:bottom;width:15.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Glass and windows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 58,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 58,117</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 63,442</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';"> -</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 63,442</p></td></tr><tr><td style="vertical-align:bottom;width:15.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Gutters</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 27,967</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 40,316</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (7,309)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 60,974</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 28,278</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 39,842</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (7,165)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 60,955</p></td></tr><tr><td style="vertical-align:bottom;width:15.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">All other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 69,009</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 14,809</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (1,002)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 82,816</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 74,603</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 15,731</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (1,089)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 89,245</p></td></tr><tr><td style="vertical-align:bottom;width:15.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><span style="white-space:pre-wrap;"> Net sales</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.06%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 798,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 545,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (65,820)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,278,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 767,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.83%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 558,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.18%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,265,238</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-family:'TimesNewRomanPSMT';visibility:hidden;">​</span></p> 674436000 216397000 -55990000 834843000 645703000 224326000 -51390000 818639000 124307000 329397000 -9830000 443874000 121387000 334049000 -8837000 446599000 798743000 545794000 -65820000 1278717000 767090000 558375000 -60227000 1265238000 643650000 490669000 -57509000 1076810000 600767000 502802000 -51973000 1051596000 58117000 58117000 63442000 63442000 27967000 40316000 -7309000 60974000 28278000 39842000 -7165000 60955000 69009000 14809000 -1002000 82816000 74603000 15731000 -1089000 89245000 798743000 545794000 -65820000 1278717000 767090000 558375000 -60227000 1265238000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table represents our contract assets and contract liabilities with customers, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin: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;line-height:1.19;margin: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;line-height:1.19;margin: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;line-height:1.19;margin: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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Included in Line Item on</b></p></td><td style="vertical-align:bottom;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, </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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:34.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Condensed Consolidated Balance Sheets</b></p></td><td style="vertical-align:bottom;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Contract Assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Receivables, unbilled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Receivables, net</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin: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:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70,591</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 64,882</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Contract Liabilities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:34.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">Accrued liabilities</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin: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:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 15,716</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,365</p></td></tr></table> 70591000 64882000 15716000 18365000 392400000 over the next 18 months 82200000 81900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">4.  GOODWILL AND OTHER INTANGIBLES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We have two reporting units which are also our operating and reporting segments: Installation and Specialty Distribution.  Both reporting units contain goodwill.  Assets acquired and liabilities assumed are assigned to the applicable reporting unit based on whether the acquired assets and liabilities relate to the operations of such unit and determination of its fair value.  Goodwill assigned to the reporting unit is the excess of the fair value of the acquired business over the fair value of the individual assets acquired and liabilities assumed for the reporting unit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">In the fourth quarter of 2023, we performed an annual assessment on our goodwill resulting in no impairment and there were no indicators of impairment for the three months ended March 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;background:#ffff00;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Changes in the carrying amount of goodwill for the three months ended March 31, 2024, by segment, were as follows, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:6pt;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:13.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';font-size:8pt;font-weight:bold;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">   Accumulated   </b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b></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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Goodwill</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">FX Translation</b></p></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Goodwill</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Impairment</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Goodwill</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additions</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:13.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Goodwill, by segment:</p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Installation</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,901,160</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 4,916</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,906,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (762,021)</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,144,055</p></td></tr><tr><td style="vertical-align:bottom;width:13.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 903,429</p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 6,261</p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;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;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (1,426)</p></td><td style="vertical-align:bottom;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 908,264</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 908,264</p></td></tr><tr><td style="vertical-align:bottom;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Total goodwill</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 2,804,589</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 11,177</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (1,426)</p></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 2,814,340</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (762,021)</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 2,052,319</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">See <i style="font-style:italic;">Note 11 – Business Combinations</i> for goodwill recognized on acquisitions that occurred during the three months ended March 31, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Other intangible assets, net includes customer relationships, non-compete agreements, and trademarks / trade names. The following table sets forth our other intangible assets, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;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:57.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Gross definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 832,327</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 827,793</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accumulated amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (253,992)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (236,735)</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Other intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 578,335</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 591,058</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth our amortization expense, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:6pt;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:57.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Amortization expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,686</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16,896</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 2 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Changes in the carrying amount of goodwill for the three months ended March 31, 2024, by segment, were as follows, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:6pt;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:13.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';font-size:8pt;font-weight:bold;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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">   Accumulated   </b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">    </b></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;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:14.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Goodwill</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:12.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">FX Translation</b></p></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:14.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Goodwill</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Impairment</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Goodwill</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:14.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Additions</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:12.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Adjustment</b></p></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Losses</b></p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:13.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Goodwill, by segment:</p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Installation</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,901,160</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 4,916</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,906,076</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (762,021)</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 1,144,055</p></td></tr><tr><td style="vertical-align:bottom;width:13.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 903,429</p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 6,261</p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;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;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (1,426)</p></td><td style="vertical-align:bottom;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 908,264</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;width:1.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:8pt;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:8pt;line-height:1.19;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 908,264</p></td></tr><tr><td style="vertical-align:bottom;width:13.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">Total goodwill</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.65%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 2,804,589</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.26%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 11,177</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (1,426)</p></td><td style="vertical-align:bottom;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 2,814,340</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.05%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt;"> (762,021)</p></td><td style="vertical-align:bottom;width:1.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:8pt;margin-left:0pt;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:8pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;line-height:1.19;text-align:right;margin:0pt 2.5pt 0pt 0pt;"> 2,052,319</p></td></tr></table> 1901160000 4916000 1906076000 762021000 1144055000 903429000 6261000 -1426000 908264000 908264000 2804589000 11177000 -1426000 2814340000 762021000 2052319000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Other intangible assets, net includes customer relationships, non-compete agreements, and trademarks / trade names. The following table sets forth our other intangible assets, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;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:57.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Gross definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 832,327</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 827,793</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accumulated amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (253,992)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (236,735)</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Other intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 578,335</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 591,058</p></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:6pt;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:57.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:40.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Gross definite-lived intangible assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 832,327</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 827,793</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Accumulated amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (253,992)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (236,735)</p></td></tr><tr><td style="vertical-align:bottom;width:57.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Other intangible assets, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 578,335</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.08%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 591,058</p></td></tr></table> 832327000 827793000 253992000 236735000 578335000 591058000 17686000 16896000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;white-space:pre-wrap;">5. LONG-TERM DEBT</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table reconciles the principal balances of our outstanding debt to our condensed consolidated balance sheets, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:6pt;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:66.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">3.625% Senior Notes due 2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">4.125% Senior Notes due 2032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Term loan due 2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 521,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 532,500</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,039</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (13,752)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (14,472)</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total debt, net of unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,408,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,420,067</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: current portion of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,039</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,362,498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,373,028</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth our remaining principal payments for our outstanding debt balances as of March 31, 2024, in thousands:</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:21.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2026</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2027</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2028</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Thereafter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">3.625% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">4.125% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 438,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 521,250</p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,230</p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,980</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 438,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 900,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,422,480</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;background:#ffffff;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">Credit Agreement</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">On July 26, 2023, we entered into Amendment No. 4 to our Credit Agreement, which provided for a new $550.0 million Term Facility Two, the proceeds of which were intended to be used, in part, to finance the acquisition of SPI, including the payment of related fees and expenses.  Refer to <i style="font-style:italic;">Note 14 – Subsequent Events</i> for details regarding the termination of our agreement to acquire SPI and Term Facility Two<span style="background:#ffffff;">.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table outlines the key terms of the Credit Agreement (dollars in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:7pt;margin-bottom:5pt;margin-top:5pt;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:83.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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Senior secured term loan facility</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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 600,000</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility (a)</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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Sublimit for issuance of letters of credit under revolving facility</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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,000</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Sublimit for swingline loans under revolving facility</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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,000</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Interest rate as of March 31, 2024</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.43</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:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Scheduled maturity date</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;">10/7/2026</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Use of the sublimits for the issuance of letters of credit and swingline loans reduces the availability under the revolving facility.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Interest expense on borrowings under the Credit Agreement is based on an applicable margin rate plus, at our option, either:  </p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">A base rate determined by reference to the highest of either (i) the federal funds rate plus </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">0.50</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> percent, (ii) BofA’s “prime rate,” and (iii) the SOFR rate for U.S. dollar deposits with a term of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one month</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">, plus </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">1.00</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> percent (Term Facility One); or</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">A SOFR rate determined by reference to the costs of funds for deposits in U.S. dollars for the interest period relevant to such borrowings, subject to a floor of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">0%</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The applicable margin rate is determined based on our Secured Leverage Ratio. In the case of base rate borrowings, the applicable margin rate ranges from 0.00 percent to 1.50 percent for Term Facility One and in the case of SOFR rate borrowings, the applicable margin ranges from 1.00 percent to 2.50 percent for Term Facility One. Borrowings under the Credit Agreement are prepayable at the Company’s option without premium or penalty. The Company is required to make prepayments with the net cash proceeds of certain asset sales and certain extraordinary receipts. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><i style="font-style:italic;">Revolving Facility </i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Company has outstanding standby letters of credit that secure our financial obligations related to our workers’ compensation, general insurance, and auto liability programs. These standby letters of credit, as well as any outstanding amount borrowed under our revolving facility, reduce the availability under the revolving facility.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes our availability under the revolving facility, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;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;white-space:nowrap;width:66.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: standby letters of credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (63,770)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (63,770)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Availability under revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 436,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 436,230</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We are required to pay commitment fees to the Lenders in respect of any unutilized commitments. The commitment fees range from 0.15 percent to 0.275 percent per annum, depending on our Secured Leverage Ratio. We must also pay customary fees on outstanding letters of credit.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 6pt 0pt;"><i style="font-style:italic;">3.625%</i><i style="font-style:italic;"> Senior Notes</i> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The 3.625% Senior Notes are $400.0 million senior unsecured obligations and bear interest at 3.625% per year, payable semiannually in arrears on March 15 and September 15, beginning on September 15, 2021. The 3.625% Senior Notes mature on March 15, 2029, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the 3.625% Senior Notes then outstanding at a repurchase price equal to 101% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date. The Company may redeem the 3.625% Senior Notes, in whole or in part, at any time on or after March 15, 2024 at the redemption prices specified in the notes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><i style="font-style:italic;">4.125%</i><i style="font-style:italic;"> Senior Notes</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The 4.125% Senior Notes are $500.0 million senior unsecured obligations and bear interest at 4.125% per year, payable semiannually in arrears on February 15 and August 15, beginning on August 15, 2022. The 4.125% Senior Notes mature on February 15, 2032, unless redeemed early or repurchased. If we undergo a change in control, we must make an offer to repurchase all of the 4.125% Senior Notes then outstanding at a repurchase price equal to 101% of their aggregate principal amount, plus accrued and unpaid interest (if any) to, but not including, the repurchase date.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Company may redeem the 4.125% Senior Notes, in whole or in part, at any time on or after October 15, 2026 at the redemption prices specified in the notes plus accrued and unpaid interest if redeemed during the 12 month period commencing on October 15 of the years set for: 2026 – 102.063%, 2027 – 101.375%, 2028 – 100.688%, 2029 and thereafter – 100.000%. The Company may also redeem a make-whole redemption of the 4.125% Senior Notes at any time prior to October 15, 2026 at the treasury rate plus 50 basis points. Additionally, the Company may redeem up to 40% of the aggregate principal amount of the 4.125% Senior Notes prior to October 15, 2024 with the net cash proceeds of certain sales of its capital stock at 104.125% of the principal amount of the notes, plus accrued and unpaid interest, if any, to the date of redemption only if, after the redemption, at least 60% of the aggregate principal amount of the notes originally issued remains outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><i style="font-style:italic;">Equipment Notes</i> </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;">We did not issue equipment notes during the three months ended March 31, 2024. The balance of equipment notes, which were issued for the purpose of financing vehicles and equipment, was </span><span style="font-size:10pt;">$1.2</span><span style="font-size:10pt;"> million as of March 31, 2024. The Company’s equipment notes each have a </span><span style="font-size:10pt;">five year</span><span style="font-size:10pt;"> term maturing in 2024 and bear interest at fixed rates between </span><span style="font-size:10pt;">2.8%</span><span style="font-size:10pt;"> and </span><span style="font-size:10pt;">4.4%</span><span style="font-size:10pt;">. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;">  <i style="font-size:10pt;font-style:italic;">Covenant Compliance</i><span style="font-size:10pt;"> </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The indentures governing our 3.625% Senior Notes and our 4.125% Senior Notes (together, our “Senior Notes”) contain restrictive covenants that, among other things, generally limit the ability of the Company and certain of its subsidiaries (subject to certain exceptions) to (i) create liens, (ii) pay dividends, acquire shares of capital stock and make payments on subordinated debt, (iii) place limitations on distributions from certain subsidiaries, (iv) issue or sell the capital stock of certain subsidiaries, (v) sell assets, (vi) enter into transactions with affiliates, and (vii) effect mergers. The indentures provide for customary events of default which include (subject in certain cases to customary grace and cure periods), among others: nonpayment of principal or interest; breach of covenants or other agreements in the indenture; defaults in failure to pay certain other indebtedness; and certain events of bankruptcy or insolvency. Generally, if an event of default occurs and is continuing under the indenture, the trustee or the holders of at least 30% in aggregate principal amount of each of our Senior Notes then outstanding may declare the principal of, premium, if any, and accrued interest on the Senior Notes subject to such declaration immediately due and payable. The Senior Notes and related guarantees have not been registered under the Securities Act of 1933, and we are not required to register either the Senior Notes or the guarantees in the future. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Credit Agreement contains certain covenants that limit, among other things, the ability of the Company to incur additional indebtedness or liens; to make certain investments or loans; to make certain restricted payments; to enter into consolidations, mergers, sales of material assets, and other fundamental changes; to transact with affiliates; to enter into agreements restricting the ability of subsidiaries to incur liens or pay dividends; or to make certain accounting changes.  The Credit Agreement contains customary affirmative covenants and events of default. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The Credit Agreement requires that we maintain a Net Leverage Ratio and minimum Interest Coverage Ratio throughout the term of the agreement. The following table outlines the key financial covenants effective for the period covered by this Quarterly Report:</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;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;white-space:nowrap;width:75.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Maximum Net Leverage Ratio</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">3.50:1.00</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Minimum Interest Coverage Ratio</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">3.00:1.00</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Compliance as of period end</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">In Compliance</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table reconciles the principal balances of our outstanding debt to our condensed consolidated balance sheets, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:6pt;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:66.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">3.625% Senior Notes due 2029</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">4.125% Senior Notes due 2032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Term loan due 2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 521,250</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 532,500</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,039</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (13,752)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (14,472)</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total debt, net of unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,408,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,420,067</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: current portion of long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 46,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 47,039</p></td></tr><tr><td style="vertical-align:bottom;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,362,498</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,373,028</p></td></tr></table> 0.03625 0.03625 400000000 400000000 0.04125 0.04125 500000000 500000000 521250000 532500000 1230000 2039000 13752000 14472000 1408728000 1420067000 46230000 47039000 1362498000 1373028000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth our remaining principal payments for our outstanding debt balances as of March 31, 2024, in thousands:</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:21.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2025</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2026</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2027</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2028</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Thereafter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">3.625% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">4.125% Senior Notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 438,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 521,250</p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,230</p></td></tr><tr><td style="vertical-align:bottom;width:21.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,980</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 438,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 900,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.49%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,422,480</p></td></tr></table> 0.03625 400000000 400000000 0.04125 500000000 500000000 33750000 48750000 438750000 521250000 1230000 1230000 34980000 48750000 438750000 900000000 1422480000 550000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table outlines the key terms of the Credit Agreement (dollars in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:7pt;margin-bottom:5pt;margin-top:5pt;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:83.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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Senior secured term loan facility</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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 600,000</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility (a)</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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Sublimit for issuance of letters of credit under revolving facility</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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100,000</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Sublimit for swingline loans under revolving facility</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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,000</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Interest rate as of March 31, 2024</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.43</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:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:83.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Scheduled maturity date</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;">10/7/2026</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Use of the sublimits for the issuance of letters of credit and swingline loans reduces the availability under the revolving facility.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p> 600000000 500000000 100000000 35000000 0.0643 2026-10-07 0.0050 P1M 0.0100 0 0.0000 0.0150 0.0100 0.0250 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes our availability under the revolving facility, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;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;white-space:nowrap;width:66.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 500,000</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Less: standby letters of credit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (63,770)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (63,770)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:66.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Availability under revolving facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.36%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 436,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.42%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 436,230</p></td></tr></table> 500000000 500000000 63770000 63770000 436230000 436230000 0.0015 0.00275 0.03625 0.03625 400000000.0 0.03625 0.03625 0.03625 1.01 0.03625 0.04125 0.04125 500000000.0 0.04125 0.04125 0.04125 1.01 0.04125 1.02063 1.01375 1.00688 1.00000 0.04125 0.0050 0.40 0.04125 1.04125 0.60 1200000 P5Y 0.028 0.044 0.03625 0.04125 0.30 <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;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;white-space:nowrap;width:75.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Arial','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Maximum Net Leverage Ratio</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">3.50:1.00</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Minimum Interest Coverage Ratio</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">3.00:1.00</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:75.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Compliance as of period end</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:22.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;">In Compliance</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 3.50 3.00 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.28;margin:0pt 0pt 8pt 0pt;"><b style="font-weight:bold;">6</b>.<b style="font-weight:bold;white-space:pre-wrap;"> FAIR VALUE MEASUREMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Fair Value on Recurring Basis</b> </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt;">The carrying values of cash and cash equivalents, receivables, net, and accounts payable are considered to be representative of their respective fair values due to the short-term nature of these instruments. We measure our contingent consideration<br/>liabilities related to business combinations at fair value<span style="font-family:'TimesNewRomanPSMT';">. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-align:justify;margin:0pt;"><span style="line-height:1.19;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">Fair Value on Non-Recurring Basis</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:11.0pt;text-align:justify;margin:0pt 0pt 6pt 0pt;">Fair value measurements were applied to our long-term debt portfolio.<span style="font-size:12pt;"> </span>We believe the carrying value of our term loan and equipment notes approximate their fair market value primarily due to the fact that the non-performance risk of servicing our debt obligations, as reflected in our business and credit risk profile, has not materially changed since we assumed our debt obligations under the Credit Agreement. In addition, due to the floating-rate nature of our term loan, the market value is not subject to variability solely due to changes in the general level of interest rates as is the case with a fixed-rate debt obligation. Based on market trades of our 3.625% Senior Notes and our 4.125% Senior Notes close to March 31, 2024 (Level 1 fair value measurement), we estimate the fair value of each in the table below:  </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;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;white-space:nowrap;width:65.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross Carrying Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">3.625% Senior Notes</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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 364,940</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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">4.125% Senior Notes</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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 445,000</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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 500,000</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;line-height:1.19;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p> 0.03625 0.04125 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;line-height:1.19;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;white-space:nowrap;width:65.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:33.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Fair Value</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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross Carrying Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">3.625% Senior Notes</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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 364,940</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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 400,000</p></td></tr><tr><td style="vertical-align:bottom;width:65.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">4.125% Senior Notes</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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 445,000</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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 500,000</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;min-height:11.0pt;text-align:justify;margin:0pt;"><span style="font-size:1pt;line-height:1.19;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p> 0.03625 364940000 400000000 0.04125 445000000 500000000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:14pt 0pt 0pt 0pt;"><b style="font-weight:bold;">7.  SEGMENT INFORMATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">The following tables set forth our net sales and operating results by segment, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="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:47.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating Profit (b)</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Operations by segment (a):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Installation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 798,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 767,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,897</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 545,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77,579</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,333</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Intercompany eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (65,820)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (10,761)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (9,971)</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,278,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,265,238</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 223,575</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 210,259</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">General corporate expense, net (c)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (9,067)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (10,828)</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Operating profit, as reported</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 214,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 199,431</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Other expense, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (7,513)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (16,116)</p></td></tr><tr><td style="vertical-align:middle;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 206,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 183,315</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">All of our operations are located primarily in the U.S. and to a lesser extent Canada.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Segment operating profit includes an allocation of general corporate expenses attributable to the operating segments which is based on direct benefit or usage (such as salaries of corporate employees who directly support the segment).</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">General corporate expense, net includes expenses not specifically attributable to our segments for functions such as corporate human resources, finance, and legal, including salaries, benefits, and other related costs</span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">. </span></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">The following tables set forth our net sales and operating results by segment, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="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:47.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:51.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="13" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Net Sales</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:25.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Operating Profit (b)</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Operations by segment (a):</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Installation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 798,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 767,090</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 156,757</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146,897</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Specialty Distribution</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 545,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 558,375</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77,579</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 73,333</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 6pt;">Intercompany eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (65,820)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (60,227)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (10,761)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (9,971)</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,278,717</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,265,238</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 223,575</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 210,259</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">General corporate expense, net (c)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (9,067)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (10,828)</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Operating profit, as reported</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 214,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 199,431</p></td></tr><tr><td style="vertical-align:bottom;width:47.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Other expense, net </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (7,513)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (16,116)</p></td></tr><tr><td style="vertical-align:middle;width:47.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 18pt;">Income before income taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 206,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.87%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 183,315</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">All of our operations are located primarily in the U.S. and to a lesser extent Canada.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(b)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Segment operating profit includes an allocation of general corporate expenses attributable to the operating segments which is based on direct benefit or usage (such as salaries of corporate employees who directly support the segment).</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(c)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">General corporate expense, net includes expenses not specifically attributable to our segments for functions such as corporate human resources, finance, and legal, including salaries, benefits, and other related costs</span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">. </span></td></tr></table> 798743000 767090000 156757000 146897000 545794000 558375000 77579000 73333000 -65820000 -60227000 -10761000 -9971000 1278717000 1265238000 223575000 210259000 -9067000 -10828000 214508000 199431000 -7513000 -16116000 206995000 183315000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">8.  INCOME TAXES     </b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Our effective tax rates were 26.4 percent and 25.9 percent for the three months ended March 31, 2024 and March 31, 2023, respectively. The higher 2024 tax rate was primarily related to an increase in tax expense related to share-based compensation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:11pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">A tax expense of $2.0 million related to share-based compensation was recognized in our condensed consolidated statements of operations as a discrete item in income tax expense for the three months ended March 31, 2024. </p> 0.264 0.259 2000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">9. NET INCOME PER SHAR</b><b style="font-weight:bold;">E</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Basic net income per share is calculated by dividing net income by the number of weighted average shares outstanding during the period, without consideration for common stock equivalents. Diluted net income per share is calculated by adjusting the number of weighted average shares outstanding for the dilutive effect of common stock equivalents outstanding for the period, determined using the treasury stock method.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Basic and diluted net income per share were computed as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:42.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Net income (in thousands)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,870</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Weighted average number of common shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,641,454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,550,658</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Dilutive effect of common stock equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with service-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,832</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,643</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with market-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,861</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with performance-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,429</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,031</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,148</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,046</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Weighted average number of common shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,843,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,713,239</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Basic net income per common share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.82</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.31</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Diluted net income per common share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.28</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes shares excluded from the calculation of diluted net income per share because their effect would have been anti-dilutive:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:42.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Anti-dilutive common stock equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with service-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,163</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with market-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,933</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with performance-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,280</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total anti-dilutive common stock equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,376</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:42.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Net income (in thousands)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 152,381</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 135,870</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Weighted average number of common shares outstanding - basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,641,454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,550,658</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Dilutive effect of common stock equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with service-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,832</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,643</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with market-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 50,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,861</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with performance-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14,429</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 29,031</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 95,148</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 86,046</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Weighted average number of common shares outstanding - diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,843,818</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,713,239</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Basic net income per common share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.82</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.31</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">Diluted net income per common share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.79</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.28</p></td></tr></table> 152381000 135870000 31641454 31550658 41832 22643 50955 24861 14429 29031 95148 86046 31843818 31713239 4.82 4.31 4.79 4.28 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:42.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"> </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:19.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Anti-dilutive common stock equivalents:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with service-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,163</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with market-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,933</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs with performance-based conditions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,280</p></td></tr><tr><td style="vertical-align:bottom;width:55.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total anti-dilutive common stock equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,376</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 14 11163 8933 22280 14 42376 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">10. SHARE-BASED COMPENSATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Eligible employees participate in the 2015 LTIP, which authorizes the Board to grant stock options, stock appreciation rights, restricted shares, restricted share units, performance awards, and dividend equivalents.  All grants are made by issuing new shares and no more than 4.0 million shares of common stock may be issued under the 2015 LTIP. As of March 31, 2024, we had 1.7 million shares remaining available for issuance under the 2015 LTIP. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Share-based compensation expense is included in selling, general, and administrative expense. The income tax effect associated with share-based compensation awards is included in income tax expense.  </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table presents share-based compensation amounts recognized in our condensed consolidated statements of operations, in thousands: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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;white-space:nowrap;width:57.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Share-based compensation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,135</p></td></tr><tr><td style="vertical-align:bottom;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (2,009)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (45)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table presents a summary of our share-based compensation activity for the three months ended March 31, 2024, in thousands, except per share amounts:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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;white-space:nowrap;width:21.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">RSAs</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:51.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock Options</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of Shares</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">   </b></p></td><td colspan="2" style="vertical-align:bottom;width:12.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Grant Date Fair Value Per Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">   </b></p></td><td style="vertical-align:bottom;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of Shares</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">   </b></p></td><td colspan="2" style="vertical-align:bottom;width:12.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Grant Date Fair Value Per Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">   </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Exercise Price Per Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">   </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Intrinsic</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Balance December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 195.5</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 223.49</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 128.7</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36.65</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98.58</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,462.8</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42.6</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 419.56</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Converted/Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (48.2)</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 230.09</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (5.8)</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70.25</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 177.53</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,355.3</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (2.2)</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276.34</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Balance March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 187.7</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 265.84</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 122.9</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.08</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94.88</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,498.1</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:32.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Exercisable March 31, 2024 (a)</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 122.9</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.08</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94.88</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,498.1</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">The weighted average remaining contractual term for vested stock options is approximately </span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">5.1</span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> years.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We have unrecognized share-based compensation expense related to unvested awards as shown in the following table, dollars in thousands:</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;white-space:nowrap;width:59.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.78%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:18.62%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrecognized Compensation Expense </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">on Unvested Awards</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:18.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Remaining</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Compensation Expense Period</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,455</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;"> 1.2</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:59.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total unrecognized compensation expense related to unvested awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,455</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Our RSAs with performance-based conditions are evaluated on a quarterly basis with adjustments to compensation expense based on the likelihood of the performance target being achieved or exceeded. The following table shows the range of payouts and the related expense for our outstanding RSAs with performance-based conditions, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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;white-space:nowrap;width:41.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;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payout Ranges and Related Expense</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">RSAs with Performance-Based Conditions</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date Fair Value</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">0%</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">25%</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">100%</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">200%</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 15, 2022</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,986</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 747</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,986</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,972</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 21, 2023</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,054</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,014</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,054</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,108</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 21, 2024</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,846</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,212</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,846</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,692</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">During the first quarter of 2024, RSAs with performance-based conditions that were granted on February 16, 2021 vested based on cumulative three-year achievement of 200%. Total compensation expense recognized over the three-year performance period, net of forfeitures, was $4.4 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The fair value of our RSAs with a market-based condition granted under the 2015 LTIP was determined using a Monte Carlo simulation. The following are key inputs in the Monte Carlo analysis for awards granted in 2024, 2023, and 2022:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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;white-space:nowrap;width:64.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Measurement period (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;"> 2.86</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;"> 2.86</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;"> 2.87</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Risk free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.36</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:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.42</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:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.76</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:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</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:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</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:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</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:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Estimated fair value of market-based RSAs at grant date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 503.68</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 270.64</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 298.20</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 4000000.0 1700000 <p style="font-family:'Times New Roman','Times','serif';font-size:12pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:10pt;margin-bottom:5pt;margin-top:5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table presents share-based compensation amounts recognized in our condensed consolidated statements of operations, in thousands: </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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;white-space:nowrap;width:57.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:39.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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;white-space:nowrap;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Share-based compensation expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,135</p></td></tr><tr><td style="vertical-align:bottom;width:57.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Income tax expense</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (2,009)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (45)</p></td></tr></table> 5127000 3135000 2009000 45000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table presents a summary of our share-based compensation activity for the three months ended March 31, 2024, in thousands, except per share amounts:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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;white-space:nowrap;width:21.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;line-height:1.19;margin: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">RSAs</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="10" style="vertical-align:bottom;white-space:nowrap;width:51.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Stock Options</b></p></td></tr><tr><td style="vertical-align:bottom;width:21.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of Shares</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">   </b></p></td><td colspan="2" style="vertical-align:bottom;width:12.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Grant Date Fair Value Per Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">   </b></p></td><td style="vertical-align:bottom;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of Shares</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">   </b></p></td><td colspan="2" style="vertical-align:bottom;width:12.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Grant Date Fair Value Per Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">   </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Exercise Price Per Share</b></p></td><td style="vertical-align:bottom;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-family:'Arial','Helvetica','sans-serif';font-weight:bold;">   </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Intrinsic</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Value</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Balance December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 195.5</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 223.49</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 128.7</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 36.65</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 98.58</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,462.8</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42.6</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 419.56</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Converted/Exercised</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (48.2)</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 230.09</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (5.8)</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 70.25</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 177.53</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,355.3</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Forfeited/Expired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;"><span style="font-size:9pt;margin-left:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt;"> (2.2)</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 276.34</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Balance March 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 187.7</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 265.84</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 122.9</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.08</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94.88</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,498.1</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:32.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Exercisable March 31, 2024 (a)</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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></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;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 122.9</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35.08</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.45%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 94.88</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.3%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.41%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 42,498.1</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:8.0pt;margin-bottom:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1pt;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(a)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">The weighted average remaining contractual term for vested stock options is approximately </span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">5.1</span><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;"> years.</span></td></tr></table> 195500 223.49 128700 36.65 98.58 35462800 42600 419.56 48200 230.09 5800 70.25 177.53 1355300 2200 276.34 187700 265.84 122900 35.08 94.88 42498100 122900 35.08 94.88 42498100 P5Y1M6D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We have unrecognized share-based compensation expense related to unvested awards as shown in the following table, dollars in thousands:</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;white-space:nowrap;width:59.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:17.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:38.78%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of March 31, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:18.62%;background:#ffffff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unrecognized Compensation Expense </b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">on Unvested Awards</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:18.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Remaining</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Compensation Expense Period</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">RSAs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,455</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;"> 1.2</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:59.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:59.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total unrecognized compensation expense related to unvested awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 31,455</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:17.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr></table> 31455000 P1Y2M12D 31455000 The following table shows the range of payouts and the related expense for our outstanding RSAs with performance-based conditions, in thousands:<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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;white-space:nowrap;width:41.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;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;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;line-height:1.19;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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:45.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Payout Ranges and Related Expense</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;">RSAs with Performance-Based Conditions</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">Grant Date Fair Value</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">0%</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">25%</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">100%</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:10.94%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">200%</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 15, 2022</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,986</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 747</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,986</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,972</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 21, 2023</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,054</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,014</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,054</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,108</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">February 21, 2024</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,846</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> -</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,212</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;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:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4,846</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 9,692</p></td></tr></table> 0 0 0 0.25 0.25 0.25 1 1 1 2 2 2 2986000 747000 2986000 5972000 4054000 1014000 4054000 8108000 4846000 1212000 4846000 9692000 P3Y 2 P3Y 4400000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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;white-space:nowrap;width:64.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Measurement period (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;"> 2.86</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;"> 2.86</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"><span style="font-size:9pt;"> 2.87</span></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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Risk free interest rate</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.36</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:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.42</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:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.76</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:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Dividend yield</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</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:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</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:9pt;line-height:1.19;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.00</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:9pt;line-height:1.19;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:64.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Estimated fair value of market-based RSAs at grant date</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 503.68</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 270.64</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 298.20</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;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> P2Y10M9D P2Y10M9D P2Y10M13D 0.0436 0.0442 0.0176 0.0000 0.0000 0.0000 503.68 270.64 298.20 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><b style="font-weight:bold;white-space:pre-wrap;">11. BUSINESS COMBINATIONS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">Acquiring businesses is a key part of our ongoing strategy to grow our company and expand our market share. Each acquisition has been accounted for as a business combination under ASC 805, “Business Combinations.” Acquisition related costs were $0.5 million and $1.7 million in the three months ended March 31, 2024 and 2023, respectively. Acquisition related costs are included in selling, general, and administrative expense in our condensed consolidated statements of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">On February 15, 2024, we acquired the assets of the residential and light commercial insulation business Brabble. This installation acquisition enhanced our presence in North Carolina. The purchase price of $5.4 million was funded by cash on hand and we recognized $3.0 million of goodwill in connection with this acquisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">On March 1, 2024, we acquired the assets of the residential insulation business Morris Black. This installation acquisition enhanced our presence in the Pennsylvania market. The purchase price of $3.6 million was funded by cash on hand and we recognized $2.0 million of goodwill in connection with this acquisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">On March 1, 2024, we acquired the assets of the customized insulation products and accessories business PCI. This specialty distribution acquisition has a national customer base focused on the domestic pest control industry.  The purchase price of $13.3 million was funded by cash on hand and we recognized $6.3 million of goodwill in connection with this acquisition. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The estimate of acquired customer relationships related to our 2024 acquisitions was $6.0 million and the weighted average useful life is 12 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="background:#ffffff;">As third-party or internal valuations are finalized, certain tax aspects of the foregoing transactions are completed, and customer post-closing reviews are concluded, adjustments may be made to the fair value of assets acquired, and in some cases total purchase price, through the end of each measurement period, generally one year following the applicable acquisition date.  </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">During the three months ended March 31, 2023, we acquired SRI and the purchase price of $45.3 was funded by cash on hand and we recognized goodwill of $23.1 million in connection with this acquisition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt 0pt 12pt 0pt;">Goodwill to be recognized in connection with acquisitions is attributable to the synergies expected to be realized and improvements in the businesses after the acquisitions. Primarily all of the $11.2 million and $23.1 million of goodwill recorded from acquisitions completed in the three months ended March 31, 2024 and 2023, respectively, is expected to be deductible for income tax purposes.</p> 500000 1700000 5400000 3000000.0 3600000 2000000.0 13300000 6300000 6000000.0 P12Y 45300000 23100000 11200000 23100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">12.  ACCRUED LIABILITIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth the components of accrued liabilities, in thousands:</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:66.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Accrued liabilities: </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Salaries, wages, and bonus/commissions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 53,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 67,471</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Income tax payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 46,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 389</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Insurance liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 31,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 29,920</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Sales and property taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 15,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 17,002</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 15,716</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 18,365</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Customer rebates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 12,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 17,326</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Interest payable on long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 3,357</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 12,139</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 23,270</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 24,605</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 201,402</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 187,217</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;">See <i style="font-style:italic;">Note 3 – Revenue Recognition </i>for discussion of our deferred revenue balances.<b style="font-weight:bold;"> </b>Accrued income taxes payable increased significantly compared to December 31, 2023 due to timing of tax payments, which typically occur later in the year.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table sets forth the components of accrued liabilities, in thousands:</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:66.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;margin-bottom:0pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0.05pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Accrued liabilities: </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;font-weight:bold;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:right;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Salaries, wages, and bonus/commissions</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 53,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 67,471</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Income tax payable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 46,554</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 389</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Insurance liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 31,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 29,920</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Sales and property taxes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 15,986</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 17,002</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 15,716</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 18,365</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Customer rebates</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 12,177</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 17,326</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Interest payable on long-term debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 3,357</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 12,139</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 12pt;">Other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 23,270</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 24,605</p></td></tr><tr><td style="vertical-align:bottom;width:66.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">Total accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.11%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 201,402</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;"><span style="font-size:9pt;margin-bottom:0pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0.05pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.99%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0.05pt 3pt 0.05pt 0pt;"> 187,217</p></td></tr></table> 53145000 67471000 46554000 389000 31197000 29920000 15986000 17002000 15716000 18365000 12177000 17326000 3357000 12139000 23270000 24605000 201402000 187217000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">13.  OTHER COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Litigation</span>.  We are subject to certain claims, charges, litigation, and other proceedings in the ordinary course of our business, including those arising from or related to contractual matters, intellectual property, personal injury, environmental matters, product liability, product recalls, construction defects, insurance coverage, personnel and employment disputes, antitrust, and other matters, including class actions. We believe we have adequate defenses in these matters, and we do not believe that the ultimate outcome of these matters will have a material adverse effect on us.  However, there is no assurance that we will prevail in any of these pending matters, and we could in the future incur judgments, enter into settlements of claims, or revise our expectations regarding the outcome of these matters, which could materially impact our liquidity and our results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Other Matters</span>.  We enter into contracts, which include customary indemnities that are standard for the industries in which we operate. Such indemnities include, among other things, claims against our builder customers for issues relating to our workmanship. We generally exclude from our contracts with builder customers indemnity relating to product quality and warranty claims, as we pass such claims directly to the manufacturers of the products we install or distribute. In conjunction with divestitures and other transactions, we occasionally provide customary indemnities relating to various items including, among others, the enforceability of trademarks, legal and environmental issues, and asset valuations. We evaluate the probability that we may incur liabilities under these customary indemnities and appropriately record an estimated liability when deemed probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We also maintain indemnification agreements with our directors and officers that may require us to indemnify them against liabilities that arise by reason of their status or service as directors or officers, except as prohibited by applicable law.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">We occasionally use performance bonds to ensure completion of our work on certain larger customer contracts that can span multiple accounting periods. Performance bonds generally do not have stated expiration dates; rather, we are released from the bonds as the contractual performance is completed. We also have bonds outstanding for license and insurance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes our outstanding performance, licensing, insurance, and other bonds, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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:67.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Outstanding bonds:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Performance bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 141,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,982</p></td></tr><tr><td style="vertical-align:bottom;width:67.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Licensing, insurance, and other bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,979</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,415</p></td></tr><tr><td style="vertical-align:bottom;width:67.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 169,359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 173,397</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">The following table summarizes our outstanding performance, licensing, insurance, and other bonds, in thousands:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="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:67.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">As of</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;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.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Outstanding bonds:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:center;margin:0pt;"><span style="font-size:9pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Performance bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 141,380</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 145,982</p></td></tr><tr><td style="vertical-align:bottom;width:67.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt 0pt 0pt 12pt;">Licensing, insurance, and other bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,979</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27,415</p></td></tr><tr><td style="vertical-align:bottom;width:67.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">Total bonds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 169,359</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.47%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:9pt;line-height:1.19;text-align:right;margin:0pt 3pt 0pt 0pt;"> 173,397</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 141380000 145982000 27979000 27415000 169359000 173397000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><b style="font-weight:bold;">14.  SUBSEQUENT EVENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;">On April 22, 2024, we agreed to a mutual termination of our previous agreement to acquire SPI, originally announced on July 27, 2023. We withdrew our Hart-Scott Rodino filings and were required to pay a termination fee of $23.0 million to the seller under the terms of the purchase agreement. In connection with the termination of the SPI acquisition, the Company terminated the commitments with respect to its undrawn Term Facility Two which was provided pursuant to Amendment No. 4. All other terms of the Company’s Credit Agreement, as amended, remain in full force and effect.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="background:#ffffff;">On May 3, 2024, our Board authorized the 2024 Repurchase Program, pursuant to which the Company may purchase up to </span><span style="background:#ffffff;">$1.0</span><span style="background:#ffffff;"> billion of our common stock.  Share repurchases may be executed through various means including open market purchases, privately negotiated transactions, accelerated share repurchase transactions, or other available means.  The 2024 Repurchase Program does not obligate the Company to purchase any shares and has no expiration date.  Authorization for the 2024 Repurchase Program may be terminated, increased, or decreased by the Board at its discretion at any time.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="visibility:hidden;background:#ffffff;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;text-align:justify;margin:0pt;"><span style="background:#ffffff;">On May 3, 2024, we entered into an agreement to acquire the assets of the residential insulation business Insulation Works, Inc., which is expected to close in mid-May 2024. This installation acquisition will enhance our presence in the Arkansas market and extend our expertise to the agricultural market. The purchase price of approximately </span><span style="background:#ffffff;">$25.2</span><span style="background:#ffffff;"> million is expected to be funded by cash on hand. This acquisition will be accounted for as a business combination under ASC 805, “Business Combinations.”</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:1.19;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p> 23000000.0 1000000000.0 25200000 false false false false