0001699136-23-000140.txt : 20231109 0001699136-23-000140.hdr.sgml : 20231109 20231109163937 ACCESSION NUMBER: 0001699136-23-000140 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 75 CONFORMED PERIOD OF REPORT: 20230930 FILED AS OF DATE: 20231109 DATE AS OF CHANGE: 20231109 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Cactus, Inc. CENTRAL INDEX KEY: 0001699136 STANDARD INDUSTRIAL CLASSIFICATION: OIL & GAS FILED MACHINERY & EQUIPMENT [3533] IRS NUMBER: 352586106 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-38390 FILM NUMBER: 231393266 BUSINESS ADDRESS: STREET 1: 920 MEMORIAL CITY WAY STREET 2: SUITE 300 CITY: HOUSTON STATE: TX ZIP: 77024 BUSINESS PHONE: 713-626-8800 MAIL ADDRESS: STREET 1: 920 MEMORIAL CITY WAY STREET 2: SUITE 300 CITY: HOUSTON STATE: TX ZIP: 77024 10-Q 1 whd-20230930.htm 10-Q whd-20230930
000169913612-312023Q3false100016991362023-01-012023-09-300001699136us-gaap:CommonClassAMember2023-11-06xbrli:shares0001699136us-gaap:CommonClassBMember2023-11-0600016991362023-09-30iso4217:USD00016991362022-12-31iso4217:USDxbrli:shares0001699136us-gaap:CommonClassAMember2023-09-300001699136us-gaap:CommonClassAMember2022-12-310001699136us-gaap:CommonClassBMember2023-09-300001699136us-gaap:CommonClassBMember2022-12-310001699136us-gaap:ProductMember2023-07-012023-09-300001699136us-gaap:ProductMember2022-07-012022-09-300001699136us-gaap:ProductMember2023-01-012023-09-300001699136us-gaap:ProductMember2022-01-012022-09-300001699136whd:RentalRevenueMember2023-07-012023-09-300001699136whd:RentalRevenueMember2022-07-012022-09-300001699136whd:RentalRevenueMember2023-01-012023-09-300001699136whd:RentalRevenueMember2022-01-012022-09-300001699136us-gaap:ProductAndServiceOtherMember2023-07-012023-09-300001699136us-gaap:ProductAndServiceOtherMember2022-07-012022-09-300001699136us-gaap:ProductAndServiceOtherMember2023-01-012023-09-300001699136us-gaap:ProductAndServiceOtherMember2022-01-012022-09-3000016991362023-07-012023-09-3000016991362022-07-012022-09-3000016991362022-01-012022-09-300001699136us-gaap:CommonClassAMember2023-07-012023-09-300001699136us-gaap:CommonClassAMember2022-07-012022-09-300001699136us-gaap:CommonClassAMember2023-01-012023-09-300001699136us-gaap:CommonClassAMember2022-01-012022-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassAMember2023-06-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassBMember2023-06-300001699136us-gaap:AdditionalPaidInCapitalMember2023-06-300001699136us-gaap:RetainedEarningsMember2023-06-300001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-300001699136us-gaap:NoncontrollingInterestMember2023-06-3000016991362023-06-300001699136us-gaap:NoncontrollingInterestMember2023-07-012023-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassAMember2023-07-012023-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassBMember2023-07-012023-09-300001699136us-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-300001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-300001699136us-gaap:RetainedEarningsMember2023-07-012023-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassAMember2023-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassBMember2023-09-300001699136us-gaap:AdditionalPaidInCapitalMember2023-09-300001699136us-gaap:RetainedEarningsMember2023-09-300001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-09-300001699136us-gaap:NoncontrollingInterestMember2023-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassAMember2022-06-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassBMember2022-06-300001699136us-gaap:AdditionalPaidInCapitalMember2022-06-300001699136us-gaap:RetainedEarningsMember2022-06-300001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-06-300001699136us-gaap:NoncontrollingInterestMember2022-06-3000016991362022-06-300001699136us-gaap:NoncontrollingInterestMember2022-07-012022-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassAMember2022-07-012022-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassBMember2022-07-012022-09-300001699136us-gaap:AdditionalPaidInCapitalMember2022-07-012022-09-300001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-07-012022-09-300001699136us-gaap:RetainedEarningsMember2022-07-012022-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassAMember2022-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassBMember2022-09-300001699136us-gaap:AdditionalPaidInCapitalMember2022-09-300001699136us-gaap:RetainedEarningsMember2022-09-300001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-09-300001699136us-gaap:NoncontrollingInterestMember2022-09-3000016991362022-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassAMember2022-12-310001699136us-gaap:CommonStockMemberus-gaap:CommonClassBMember2022-12-310001699136us-gaap:AdditionalPaidInCapitalMember2022-12-310001699136us-gaap:RetainedEarningsMember2022-12-310001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001699136us-gaap:NoncontrollingInterestMember2022-12-310001699136us-gaap:CommonStockMemberus-gaap:CommonClassAMember2023-01-012023-09-300001699136us-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-300001699136us-gaap:NoncontrollingInterestMember2023-01-012023-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassBMember2023-01-012023-09-300001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-300001699136us-gaap:RetainedEarningsMember2023-01-012023-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassAMember2021-12-310001699136us-gaap:CommonStockMemberus-gaap:CommonClassBMember2021-12-310001699136us-gaap:AdditionalPaidInCapitalMember2021-12-310001699136us-gaap:RetainedEarningsMember2021-12-310001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001699136us-gaap:NoncontrollingInterestMember2021-12-3100016991362021-12-310001699136us-gaap:NoncontrollingInterestMember2022-01-012022-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassAMember2022-01-012022-09-300001699136us-gaap:CommonStockMemberus-gaap:CommonClassBMember2022-01-012022-09-300001699136us-gaap:AdditionalPaidInCapitalMember2022-01-012022-09-300001699136us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-09-300001699136us-gaap:RetainedEarningsMember2022-01-012022-09-30whd:segment0001699136whd:FlexSteelMember2023-02-282023-02-280001699136whd:FlexSteelMember2023-02-2800016991362023-02-280001699136whd:FlexSteelMember2023-09-300001699136whd:FlexSteelMember2023-07-012023-09-300001699136whd:FlexSteelMember2023-01-012023-03-3100016991362023-01-012023-03-310001699136whd:FlexSteelMember2023-02-282023-09-300001699136whd:FlexSteelMember2022-07-012022-09-300001699136whd:FlexSteelMember2023-01-012023-09-300001699136whd:FlexSteelMember2022-01-012022-09-300001699136us-gaap:LandMember2023-09-300001699136us-gaap:LandMember2022-12-310001699136us-gaap:BuildingAndBuildingImprovementsMember2023-09-300001699136us-gaap:BuildingAndBuildingImprovementsMember2022-12-310001699136us-gaap:MachineryAndEquipmentMember2023-09-300001699136us-gaap:MachineryAndEquipmentMember2022-12-310001699136whd:ReelsAndSkidsMember2023-09-300001699136whd:ReelsAndSkidsMember2022-12-310001699136us-gaap:VehiclesMember2023-09-300001699136us-gaap:VehiclesMember2022-12-310001699136whd:RentalEquipmentMember2023-09-300001699136whd:RentalEquipmentMember2022-12-310001699136us-gaap:FurnitureAndFixturesMember2023-09-300001699136us-gaap:FurnitureAndFixturesMember2022-12-310001699136whd:ComputerAndSoftwareMember2023-09-300001699136whd:ComputerAndSoftwareMember2022-12-310001699136us-gaap:ConstructionInProgressMember2023-09-300001699136us-gaap:ConstructionInProgressMember2022-12-310001699136whd:PressureControlSegmentMember2022-12-310001699136whd:SpoolableTechnologiesMember2022-12-310001699136whd:PressureControlSegmentMember2023-01-012023-09-300001699136whd:SpoolableTechnologiesMember2023-01-012023-09-300001699136whd:PressureControlSegmentMember2023-09-300001699136whd:SpoolableTechnologiesMember2023-09-300001699136us-gaap:CustomerRelationshipsMember2023-09-300001699136us-gaap:TechnologyBasedIntangibleAssetsMember2023-09-300001699136us-gaap:TradeNamesMember2023-09-300001699136us-gaap:OrderOrProductionBacklogMember2023-09-300001699136whd:IdentifiableIntangibleAssetsAcquiredMember2023-09-300001699136whd:IdentifiableIntangibleAssetsAcquiredMember2023-07-012023-09-300001699136whd:IdentifiableIntangibleAssetsAcquiredMember2023-01-012023-09-300001699136us-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMemberwhd:CactusWellheadLlcAndItsSubsidiariesMember2018-08-210001699136us-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMemberwhd:CactusWellheadLlcAndItsSubsidiariesMember2022-07-250001699136us-gaap:LineOfCreditMemberwhd:CactusWellheadLlcAndItsSubsidiariesMember2022-07-250001699136whd:AmendedABLCreditFacilityMemberus-gaap:SecuredDebtMember2023-02-280001699136whd:AmendedABLCreditFacilityMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2023-02-280001699136whd:AmendedABLCreditFacilityMemberus-gaap:LineOfCreditMemberus-gaap:LetterOfCreditMember2023-02-280001699136us-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMemberwhd:CactusWellheadLlcAndItsSubsidiariesMember2023-02-280001699136whd:TheCreditFacilityMemberus-gaap:LineOfCreditMemberus-gaap:SecuredDebtMember2023-02-280001699136whd:TheCreditFacilityMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:LineOfCreditMember2023-02-2800016991362023-02-282023-02-280001699136us-gaap:RevolvingCreditFacilityMemberus-gaap:BaseRateMembersrt:SubsidiariesMember2023-01-012023-09-30xbrli:pure0001699136us-gaap:RevolvingCreditFacilityMemberwhd:SecuredOvernightFinancingRateMembersrt:SubsidiariesMember2023-01-012023-09-300001699136us-gaap:RevolvingCreditFacilityMembersrt:MinimumMemberus-gaap:BaseRateMembersrt:SubsidiariesMember2023-01-012023-09-300001699136srt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:BaseRateMembersrt:SubsidiariesMember2023-01-012023-09-300001699136us-gaap:RevolvingCreditFacilityMembersrt:MinimumMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMembersrt:SubsidiariesMember2023-01-012023-09-300001699136srt:MaximumMemberus-gaap:RevolvingCreditFacilityMemberus-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMembersrt:SubsidiariesMember2023-01-012023-09-300001699136us-gaap:RevolvingCreditFacilityMembersrt:MinimumMembersrt:SubsidiariesMember2023-01-012023-09-300001699136us-gaap:RevolvingCreditFacilityMemberwhd:CreditAgreementMemberus-gaap:LineOfCreditMembersrt:SubsidiariesMember2023-09-300001699136us-gaap:RevolvingCreditFacilityMembersrt:SubsidiariesMember2023-01-012023-09-3000016991362018-02-012018-02-2800016991362022-01-012022-12-310001699136whd:CactusCompaniesMember2023-01-012023-09-300001699136whd:CactusLLCMember2022-01-012022-12-310001699136us-gaap:CommonClassAMemberwhd:AdditionalOfferingMember2023-01-012023-01-310001699136us-gaap:CommonClassAMemberwhd:AdditionalOfferingMember2023-01-310001699136us-gaap:AdditionalPaidInCapitalMember2023-01-012023-01-310001699136whd:KeyEmployeeMemberwhd:FlexSteelMember2023-01-012023-09-300001699136whd:KeyEmployeeMemberwhd:FlexSteelMember2023-09-300001699136us-gaap:CommonClassBMemberwhd:CactusCompaniesMember2023-09-300001699136us-gaap:CommonClassAMemberwhd:CCUnitsRedeemedForClassCommonStockMember2023-09-300001699136us-gaap:CommonClassAMemberwhd:CCUnitsRedeemedForClassCommonStockMember2018-02-122023-09-300001699136whd:March2021SecondaryOfferingMemberus-gaap:CommonClassAMember2023-01-012023-09-300001699136whd:March2021SecondaryOfferingMemberus-gaap:CommonClassAMember2022-01-012022-09-300001699136whd:ShareRepurchaseProgramMember2023-06-060001699136us-gaap:CommonStockMemberwhd:ShareRepurchaseProgramMember2023-01-012023-09-300001699136us-gaap:CommonStockMemberwhd:ShareRepurchaseProgramMember2023-09-300001699136whd:CactusIncMember2023-01-012023-09-300001699136whd:CCUnitHoldersOtherThanCactusIncMember2023-01-012023-09-300001699136whd:CactusIncMember2022-01-012022-09-300001699136whd:CCUnitHoldersOtherThanCactusIncMember2022-01-012022-09-300001699136us-gaap:FairValueMeasurementsRecurringMemberwhd:EarnOutLiabilityMemberus-gaap:FairValueInputsLevel1Member2023-09-300001699136us-gaap:FairValueMeasurementsRecurringMemberwhd:EarnOutLiabilityMemberus-gaap:FairValueInputsLevel2Member2023-09-300001699136us-gaap:FairValueMeasurementsRecurringMemberwhd:EarnOutLiabilityMemberus-gaap:FairValueInputsLevel3Member2023-09-300001699136us-gaap:FairValueMeasurementsRecurringMemberwhd:EarnOutLiabilityMember2023-09-300001699136us-gaap:FairValueMeasurementsRecurringMemberus-gaap:FairValueInputsLevel1Memberwhd:PutOptionLiabilityMember2023-09-300001699136us-gaap:FairValueMeasurementsRecurringMemberwhd:PutOptionLiabilityMemberus-gaap:FairValueInputsLevel2Member2023-09-300001699136us-gaap:FairValueMeasurementsRecurringMemberwhd:PutOptionLiabilityMemberus-gaap:FairValueInputsLevel3Member2023-09-300001699136us-gaap:FairValueMeasurementsRecurringMemberwhd:PutOptionLiabilityMember2023-09-300001699136whd:EarnOutLiabilityMemberus-gaap:MeasurementInputRiskFreeInterestRateMembersrt:MinimumMember2023-09-300001699136srt:MaximumMemberwhd:EarnOutLiabilityMemberus-gaap:MeasurementInputRiskFreeInterestRateMember2023-09-300001699136whd:EarnOutLiabilityMemberwhd:MeasurementInputExpectedRevenueVolatilityMember2023-09-300001699136whd:EarnOutLiabilityMembersrt:MinimumMemberus-gaap:MeasurementInputDiscountRateMember2023-09-300001699136srt:MaximumMemberwhd:EarnOutLiabilityMemberus-gaap:MeasurementInputDiscountRateMember2023-09-300001699136whd:EarnOutLiabilityMembersrt:MinimumMemberwhd:CreditDiscountRateMember2023-09-300001699136srt:MaximumMemberwhd:EarnOutLiabilityMemberwhd:CreditDiscountRateMember2023-09-300001699136us-gaap:MeasurementInputRiskFreeInterestRateMemberwhd:PutOptionLiabilityMember2023-09-300001699136us-gaap:MeasurementInputPriceVolatilityMemberwhd:PutOptionLiabilityMember2023-09-300001699136whd:PutOptionLiabilityMemberus-gaap:MeasurementInputExpectedDividendRateMember2023-09-300001699136whd:EarnOutLiabilityMemberus-gaap:FairValueInputsLevel3Member2022-12-310001699136whd:PutOptionLiabilityMemberus-gaap:FairValueInputsLevel3Member2022-12-310001699136whd:EarnOutLiabilityMemberus-gaap:FairValueInputsLevel3Member2023-01-012023-09-300001699136whd:PutOptionLiabilityMemberus-gaap:FairValueInputsLevel3Member2023-01-012023-09-300001699136whd:EarnOutLiabilityMemberus-gaap:FairValueInputsLevel3Member2023-09-300001699136whd:PutOptionLiabilityMemberus-gaap:FairValueInputsLevel3Member2023-09-300001699136whd:EarnOutLiabilityMemberwhd:FlexSteelMemberus-gaap:FairValueInputsLevel3Member2023-01-012023-03-310001699136whd:PutOptionLiabilityMemberwhd:RemeasurementExpenseMemberus-gaap:FairValueInputsLevel3Member2023-01-012023-09-300001699136us-gaap:FairValueInputsLevel2Member2023-09-3000016991362023-02-282023-09-300001699136whd:PressureControlSegmentMember2023-07-012023-09-300001699136whd:PressureControlSegmentMember2022-07-012022-09-300001699136whd:PressureControlSegmentMember2022-01-012022-09-300001699136whd:SpoolableTechnologiesMember2023-07-012023-09-300001699136whd:SpoolableTechnologiesMember2022-07-012022-09-300001699136whd:SpoolableTechnologiesMember2022-01-012022-09-3000016991362023-01-012023-02-270001699136us-gaap:CommonClassBMember2023-07-012023-09-300001699136us-gaap:CommonClassBMember2022-07-012022-09-30
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
______________________________________________________________________________
FORM 10-Q
______________________________________________________________________________
(MARK ONE)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended September 30, 2023
or
TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from _____ to _____
Commission File Number: 001-38390
______________________________________________________________________________
Cactus, Inc.
(Exact name of registrant as specified in its charter)
______________________________________________________________________________
Delaware35-2586106
(State or other jurisdiction of
incorporation or organization)
(I.R.S. Employer
Identification No.)
920 Memorial City Way, Suite 30077024
Houston,Texas(Zip Code)
(Address of principal executive offices)
(713626-8800
(Registrant’s telephone number, including area code)
______________________________________________________________________________
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Class A Common Stock, par value $0.01WHDNew 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 filerAccelerated filer
Non-accelerated filerSmaller reporting company
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes   No 
As of November 6, 2023, the registrant had 65,323,129 shares of Class A common stock, $0.01 par value per share, and 14,106,469 shares of Class B common stock, $0.01 par value per share, outstanding.


TABLE OF CONTENTS


CAUTIONARY NOTE REGARDING FORWARD-LOOKING STATEMENTS
This Quarterly Report on Form 10-Q (the “Quarterly Report”) contains “forward-looking statements” within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”). When used in this Quarterly Report, the words “could,” “believe,” “anticipate,” “intend,” “estimate,” “expect,” “project” and similar expressions are intended to identify forward-looking statements, although not all forward-looking statements contain such identifying words. These forward-looking statements are based on our current expectations and assumptions about future events and are based on currently available information as to the outcome and timing of future events. We caution you that these forward-looking statements are subject to risks and uncertainties, most of which are difficult to predict and many of which are beyond our control. When considering forward‑looking statements, you should keep in mind the risk factors and other cautionary statements described under “Part I, Item 1A. Risk Factors” in our Annual Report on Form 10-K for the year ended December 31, 2022 (our “2022 Annual Report”), the Risk Factors described in “Part II, Item 1A. Risk Factors” of our Quarterly Report on Form 10-Q for the quarter ended March 31, 2023, the Risk Factors described in “Part II, Item 1A. Risk Factors” of this Quarterly Report and other cautionary statements contained herein and in our Exchange Act filings. Forward‑looking statements are based on management’s current belief, based on currently available information, as to the outcome and timing of future events. Should one or more of the risks or uncertainties described in our 2022 Annual Report or other Exchange Act filings occur, or should underlying assumptions prove incorrect, our actual results could differ materially from those expressed in any forward-looking statements.
All forward-looking statements, expressed or implied, included in this Quarterly Report are expressly qualified in their entirety by this cautionary statement. This cautionary statement should also be considered in connection with any subsequent written or oral forward-looking statements that we or persons acting on our behalf may issue. Except as otherwise required by applicable law, we disclaim any duty to update any forward-looking statements, all of which are expressly qualified by the statements in this section, to reflect events or circumstances after the date of this Quarterly Report.
i

PART I - FINANCIAL INFORMATION
Item 1.   Financial Statements.
CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED BALANCE SHEETS
(unaudited)
(in thousands, except per share data)September 30,
2023
December 31,
2022
Assets
Current assets
Cash and cash equivalents
$63,738 $344,527 
Accounts receivable, net of allowance of $3,187 and $1,060, respectively
206,251 138,268 
Inventories
203,517 161,283 
Prepaid expenses and other current assets
19,442 10,564 
Total current assets
492,948 654,642 
Property and equipment, net
345,222 129,998 
Operating lease right-of-use assets, net
19,969 23,183 
Intangible assets, net183,974  
Goodwill
200,723 7,824 
Deferred tax asset, net
211,535 301,644 
Other noncurrent assets
9,779 1,605 
Total assets
$1,464,150 $1,118,896 
Liabilities and Equity
Current liabilities
Accounts payable
$65,217 $47,776 
Accrued expenses and other current liabilities
60,713 30,619 
Earn-out liability18,892  
Current portion of liability related to tax receivable agreement
20,855 27,544 
Finance lease obligations, current portion
7,543 5,933 
Operating lease liabilities, current portion
4,147 4,777 
Total current liabilities
177,367 116,649 
Deferred tax liability, net
1,469 1,966 
Liability related to tax receivable agreement, net of current portion
250,256 265,025 
Finance lease obligations, net of current portion
9,239 6,436 
Operating lease liabilities, net of current portion
15,748 18,375 
Total liabilities
454,079 408,451 
Commitments and contingencies


Stockholders’ equity
Preferred stock, $0.01 par value, 10,000 shares authorized, none issued and outstanding
  
Class A common stock, $0.01 par value, 300,000 shares authorized, 65,323 and 60,903 shares issued and outstanding
654 609 
Class B common stock, $0.01 par value, 215,000 shares authorized, 14,106 and 14,978 shares issued and outstanding
  
Additional paid-in capital
462,302 310,528 
Retained earnings
359,699 261,764 
Accumulated other comprehensive loss(1,647)(984)
Total stockholders’ equity attributable to Cactus Inc.821,008 571,917 
Non-controlling interest
189,063 138,528 
Total stockholders’ equity1,010,071 710,445 
Total liabilities and equity
$1,464,150 $1,118,896 
The accompanying notes are an integral part of these condensed consolidated financial statements.
1

CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF INCOME
(unaudited)
Three Months Ended
September 30,
Nine Months Ended
September 30,
(in thousands, except per share data)2023202220232022
Revenues
Product revenue
$214,295 $121,782 $605,698 $328,054 
Rental revenue
28,879 27,105 84,916 73,143 
Field service and other revenue
44,696 35,594 131,480 99,398 
Total revenues
287,870 184,481 822,094 500,595 
Costs and expenses
Cost of product revenue
123,278 73,747 373,310 203,839 
Cost of rental revenue
15,558 16,323 48,538 46,740 
Cost of field service and other revenue
36,973 27,145 103,861 78,685 
Selling, general and administrative expenses
29,549 15,970 97,519 44,804 
Change in fair value of earn-out liability(5,091) 13,053  
Total costs and expenses
200,267 133,185 636,281 374,068 
Operating income87,603 51,296 185,813 126,527 
Interest income (expense), net(1,372)1,140 (6,298)1,344 
Other income, net266 1,125 3,804 10 
Income before income taxes
86,497 53,561 183,319 127,881 
Income tax expense18,478 12,041 30,553 23,498 
Net income
$68,019 $41,520 $152,766 $104,383 
Less: net income attributable to non-controlling interest
15,439 10,095 32,542 25,198 
Net income attributable to Cactus Inc.
$52,580 $31,425 $120,224 $79,185 
Earnings per Class A share - basic
$0.81 $0.52 $1.87 $1.32 
Earnings per Class A share - diluted
$0.80 $0.51 $1.82 $1.30 
Weighted average Class A shares outstanding - basic
64,879 60,665 64,399 60,164 
Weighted average Class A shares outstanding - diluted
65,486 61,106 79,632 76,296 
The accompanying notes are an integral part of these condensed consolidated financial statements.
2

CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME
(unaudited)
Three Months Ended September 30,Nine Months Ended
September 30,
(in thousands)2023202220232022
Net income
$68,019 $41,520 $152,766 $104,383 
Foreign currency translation adjustments
(670)(1,219)(812)(2,150)
Comprehensive income
$67,349 $40,301 $151,954 $102,233 
Less: comprehensive income attributable to non-controlling interest
15,319 9,795 32,393 24,673 
Comprehensive income attributable to Cactus Inc.
$52,030 $30,506 $119,561 $77,560 
The accompanying notes are an integral part of these condensed consolidated financial statements.
3

CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(unaudited)

Class AClass BAdditional
Paid-In
Capital
Retained
Earnings
Accumulated
Other
Comprehensive Income (Loss)
Non-controlling
Interest
Total
Equity
Common StockCommon Stock
(in thousands)SharesAmountSharesAmount
Balance at June 30, 202364,609 $647 14,820 $ $446,206 $315,049 $(1,096)$191,968 $952,774 
Member distributions— — — — — — — (9,214)(9,214)
Effect of CC Unit redemptions714 7 (714)— 9,753 — — (9,760) 
Tax impact of equity transactions— — — — 2,574 — — (100)2,474 
Other comprehensive loss— — — — — — (551)(119)(670)
Stock-based compensation— — — — 3,769 — — 849 4,618 
Cash dividends declared ($0.12 per share)
— — — — — (7,930)— — (7,930)
Net income— — — — — 52,580 — 15,439 68,019 
Balance at September 30, 202365,323 $654 14,106 $ $462,302 $359,699 $(1,647)$189,063 $1,010,071 
Balance at June 30, 202260,613 $606 15,263 $ $304,418 $212,913 $(698)$126,569 $643,808 
Member distributions— — — — — — — (4,659)(4,659)
Effect of CW Unit redemptions104 1 (104)— 894 — — (895) 
Tax impact of equity transactions— — — — (33)— — — (33)
Equity award vestings2 — — — 5 — — (3)2 
Other comprehensive loss— — — — — — (919)(300)(1,219)
Stock-based compensation— — — — 2,414 — — 604 3,018 
Cash dividends declared ($0.11 per share)
— — — — — (6,787)— — (6,787)
Net income— — — — — 31,425 — 10,095 41,520 
Balance at September 30, 202260,719 $607 15,159 $ $307,698 $237,551 $(1,617)$131,411 $675,650 
The accompanying notes are an integral part of these condensed consolidated financial statements.
















4

CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(unaudited)

Class AClass BAdditional
Paid-In
Capital
Retained
Earnings
Accumulated
Other
Comprehensive Income (Loss)
Non-controlling
Interest
Total
Equity
Common StockCommon Stock
(in thousands)SharesAmountSharesAmount
Balance at December 31, 202260,903 $609 14,978 $ $310,528 $261,764 $(984)$138,528 $710,445 
Issuances of common stock3,352 34 — — 143,302 — — 26,033 169,369 
Member distributions— — — — — — — (13,926)(13,926)
Effect of CC Unit redemptions872 9 (872)— 11,773 — — (11,782) 
Tax impact of equity transactions— — — — (10,979)— — 16,726 5,747 
Equity award vestings200 2 — — (3,071)— — (1,371)(4,440)
Other comprehensive loss— — — — — — (663)(149)(812)
Share repurchases(4)— — — (137)— — (22)(159)
Stock-based compensation— — — — 10,886 — — 2,484 13,370 
Cash dividends declared ($0.34 per share)
— — — — — (22,289)— — (22,289)
Net income— — — — — 120,224 — 32,542 152,766 
Balance at September 30, 202365,323 $654 14,106 $ $462,302 $359,699 $(1,647)$189,063 $1,010,071 
Balance at December 31, 202159,035 $590 16,674 $ $289,600 $178,446 $8 $126,389 $595,033 
Member distributions— — — — — — — (8,007)(8,007)
Effect of CW Unit redemptions1,515 15 (1,515)— 12,039 — — (12,054) 
Tax impact of equity transactions— — — — 2,931 — — — 2,931 
Equity award vestings169 2 — — (3,258)— — (1,238)(4,494)
Other comprehensive loss— — — — — — (1,625)(525)(2,150)
Stock-based compensation— — — — 6,386 — — 1,648 8,034 
Cash dividends declared ($0.33 per share)
— — — — — (20,080)— — (20,080)
Net income— — — — — 79,185 — 25,198 104,383 
Balance at September 30, 202260,719 $607 15,159 $ $307,698 $237,551 $(1,617)$131,411 $675,650 
The accompanying notes are an integral part of these condensed consolidated financial statements.






5

CACTUS, INC. AND SUBSIDIARIES
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS
(unaudited)
Nine Months Ended
September 30,
(in thousands)20232022
Cash flows from operating activities
Net income
$152,766 $104,383 
Reconciliation of net income to net cash provided by operating activities:
Depreciation and amortization
50,180 25,991 
Deferred financing cost amortization
4,187 133 
Stock-based compensation
13,526 8,034 
Provision for expected credit losses
2,153 224 
Inventory obsolescence
3,569 1,642 
Gain on disposal of assets(1,999)(470)
Deferred income taxes
10,723 19,230 
Change in fair value of earn-out liability12,932  
Gain from revaluation of liability related to tax receivable agreement(3,683)(10)
Changes in operating assets and liabilities:
Accounts receivable
(12,637)(42,906)
Inventories
45,377 (45,545)
Prepaid expenses and other assets
(7,321)(4,265)
Accounts payable
2,733 20,537 
Accrued expenses and other liabilities
2,986 3,293 
Payments pursuant to tax receivable agreement(26,890)(11,666)
Net cash provided by operating activities
248,602 78,605 
Cash flows from investing activities
Acquisition of a business, net of cash and cash equivalents acquired(616,189) 
Capital expenditures and other
(33,400)(21,197)
Proceeds from sales of assets4,347 1,701 
Net cash used in investing activities
(645,242)(19,496)
Cash flows from financing activities
Proceeds from the issuance of long-term debt155,000  
Repayments of borrowings of long-term debt(155,000) 
Net proceeds from the issuance of Class A common stock169,878  
Payments of deferred financing costs(6,857)(165)
Payments on finance leases
(5,579)(4,505)
Dividends paid to Class A common stock shareholders
(22,266)(20,015)
Distributions to members
(13,926)(8,007)
Repurchases of shares
(4,599)(4,495)
Net cash provided by (used in) financing activities116,651 (37,187)
Effect of exchange rate changes on cash and cash equivalents
(800)(2,968)
Net increase (decrease) in cash and cash equivalents(280,789)18,954 
Cash and cash equivalents, beginning of period344,527 301,669 
Cash and cash equivalents, end of period$63,738 $320,623 
Supplemental disclosure of cash flow information
Net cash paid for income taxes$19,464 $3,762 
Cash paid for interest$5,150 $801 
Non-cash investing and financing activities:
Right-of-use assets obtained in exchange for new lease obligations$10,210 $10,707 
Property and equipment in accounts payable$1,758 $1,582 
The accompanying notes are an integral part of these condensed consolidated financial statements.
6

CACTUS, INC. AND SUBSIDIARIES
NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (unaudited)
(in thousands, except per share data, or as otherwise indicated)
1.Preparation of Interim Financial Statements and Other Items
Basis of Presentation
The financial statements presented in this report represent the consolidation of Cactus, Inc. (“Cactus Inc.”) and its subsidiaries (the “Company”), including Cactus Companies, LLC (“Cactus Companies”). Cactus Inc. is a holding company whose only material asset is an equity interest consisting of units representing limited liability company interests in Cactus Companies (“CC Units”). Cactus Inc. is the sole managing member of Cactus Companies and operates and controls all of the business and affairs of Cactus Companies and conducts its business through Cactus Companies and its subsidiaries. As a result, Cactus Inc. consolidates the financial results of Cactus Companies and its subsidiaries and reports a non-controlling interest related to the portion of CC Units not owned by Cactus Inc., which reduces net income attributable to holders of Cactus Inc.’s Class A common stock, par value $0.01 per share (“Class A common stock”). Except as otherwise indicated or required by the context, all references to “Cactus,” “we,” “us” and “our” refer to Cactus Inc. and its consolidated subsidiaries.
On February 28, 2023, Cactus Inc. through one of its subsidiaries, completed the merger of the FlexSteel business (the “Merger”) through a merger with HighRidge Resources, Inc. and its subsidiaries (“HighRidge”). On February 27, 2023, in order to facilitate the Merger with HighRidge, an internal reorganization was completed in which Cactus Companies acquired all of the outstanding units representing ownership interests in Cactus Wellhead, LLC (“Cactus LLC”), the operating subsidiary of Cactus Inc. (the “CC Reorganization”). The purpose of the Merger was to effect the acquisition of the operations of FlexSteel Holdings, Inc. and its subsidiaries. FlexSteel Holdings, Inc. was a wholly-owned subsidiary of HighRidge prior to the Merger and was converted into a limited liability company, contributed from HighRidge to Cactus Companies as part of the CC Reorganization and is now named FlexSteel Holdings, LLC (“FlexSteel”). The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition through September 30, 2023. See Note 2 for additional information related to the acquisition.
Following the acquisition of FlexSteel, we now operate in two business segments: Pressure Control and Spoolable Technologies.
The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) for interim financial information. Accordingly, these consolidated financial statements do not include all information or notes required by generally accepted accounting principles for annual financial statements and should be read together with our Annual Report on Form 10-K for the year ended December 31, 2022.
The consolidated financial statements include all adjustments, which are of a normal recurring nature, unless otherwise disclosed, necessary for a fair statement of the consolidated financial statements for the interim periods. The results of operations for any interim period are not necessarily indicative of the results to be expected for the full year.
Use of Estimates
In preparing our consolidated financial statements in conformity with GAAP, we make numerous estimates and assumptions that affect the accounting for and recognition and disclosure of assets, liabilities, equity, revenues and expenses. We must make these estimates and assumptions because certain information that we use is dependent on future events, cannot be calculated with a high degree of precision from available data or is not otherwise capable of being readily calculated based on accepted methodologies. In some cases, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ materially from the estimates and assumptions that we use in the preparation of our consolidated financial statements.
2.FlexSteel Acquisition
On February 28, 2023 (the “acquisition date”), we completed the acquisition of FlexSteel in accordance with the terms and conditions of the merger agreement dated December 30, 2022. Including final adjustments for closing working capital, cash on hand and indebtedness adjustments as set forth in the merger agreement, we paid total cash consideration of $621.5 million. There is also a potential future earn-out payment of up to $75.0 million to be paid no later than the third quarter of 2024, if certain revenue growth targets are met by FlexSteel. We funded the upfront purchase price using a combination of $165.6 million of net
7

proceeds received from the public offering of shares of our Class A common stock completed in January 2023, borrowings under the Amended ABL Credit Facility (as defined in Note 7) totaling $155.0 million and available cash on hand at the time of closing.
We believe this acquisition enhances Cactus’ position as a premier manufacturer and provider of highly engineered equipment to the oil and gas exploration and production (“E&P”) industry and provides meaningful growth potential for Cactus. We also believe FlexSteel’s products are highly complementary to Cactus’ equipment as it expands our exposure to our customers’ operations from production trees to transportation of oil, gas and other liquids as well as to additional customers operating in the midstream area. The acquisition is being accounted for using the acquisition method of accounting, with Cactus being treated as the accounting acquirer. Under the acquisition method of accounting, the assets and liabilities are recorded at their respective fair values as of the acquisition date. The transaction was treated as a purchase of stock for United States federal income tax purposes. In connection with the acquisition, we incurred approximately $7.5 million of transaction costs for the nine months ended September 30, 2023 required to effect the transaction and incurred an additional $4.4 million in costs related to the reporting of and accounting for the transaction. These fees primarily related to legal, accounting and consulting fees and are included in selling, general and administrative (“SG&A”) expenses in the consolidated statements of income.
Purchase Price Consideration
The final purchase price consideration for the acquisition is $627.5 million and is summarized as follows:
Purchase Price Consideration
Cash consideration$621,505 
Add: Contingent consideration (1)
5,960 
Fair value of consideration transferred$627,465 
(1) Represents the estimated fair value as of the acquisition date of the earn-out payment of up to $75 million of additional cash consideration if certain revenue growth targets are met by FlexSteel. The estimated fair value of the earn-out payment was determined using a Monte Carlo simulation valuation methodology based on probability-weighted performance projections and other inputs, including a discount rate.
Changes in the fair value of the earn-out liability subsequent to the acquisition date are recognized in the consolidated statements of income. As of September 30, 2023, the estimated fair value of the earn-out payment increased to $18.9 million. The increase is based on the revised forecast for the period January 1, 2023 through June 30, 2024, reflecting improvements in FlexSteel’s revenues as compared to projections made at the time of the acquisition. See further discussion of the calculation of fair value of the earn-out liability in Note 12.
Preliminary Purchase Price Allocation
The following table provides the preliminary allocation of the purchase price as of the acquisition date. The goodwill reflected below decreased $0.6 million from the original preliminary purchase price allocation as a result of measurement period adjustments, primarily related to changes in cash consideration upon finalization of the closing net working capital and the
8

resulting updates to deferred tax liabilities, partially offset by valuation adjustments to inventories and property and equipment.
Cash and cash equivalents$5,316 
Receivables57,747 
Inventories91,746 
Prepaid expenses and other current assets1,283 
Property and equipment208,955 
Operating lease right-of-use assets1,021 
Identifiable intangible assets200,300 
Other noncurrent assets5,666 
Total assets acquired572,034 
Accounts payable(14,789)
Accrued expenses and other current liabilities(26,827)
Finance lease obligations(974)
Operating lease liabilities(906)
Deferred tax liabilities(93,972)
Total liabilities assumed(137,468)
Net assets acquired434,566 
Goodwill$192,899 
Assets acquired and liabilities assumed in connection with the acquisition were recorded at their estimated fair values. Estimated fair values were determined by management, based in part on an independent valuation performed by third-party valuation specialists. The valuation methods used to determine the estimated fair value of intangible assets included the excess earnings approach for customer relationships and backlog using customer inputs and contributory charges and the relief from royalty method for tradename and developed technology. Several significant assumptions and estimates were involved in the application of these valuation methods, including forecasted sales volumes and prices, royalty rates, costs to produce, tax rates, capital spending, discount rates, attrition rates and working capital changes. Cash flow forecasts were generally based on FlexSteel’s pre-acquisition forecasts. Identifiable intangible assets with finite lives are subject to amortization over their estimated useful lives.
The fair values determined for accounts receivable, accounts payable and most other current assets and liabilities, other than inventory, were equivalent to the carrying value due to their short-term nature. Acquired inventories are comprised of raw materials, work-in-progress and finished goods. The preliminary fair value of finished goods was calculated as the estimated selling price, less costs of the selling effort and a reasonable profit allowance relating to the selling effort. The preliminary fair value of work-in-progress was calculated as the estimated selling price, less costs to complete, less costs of the selling effort and a reasonable profit allowance on completion and selling costs. The preliminary fair value of raw materials was determined based on replacement cost which approximates historical carrying value. The preliminary fair value of identifiable fixed assets was calculated using a combination of valuation approaches, but primarily consisted of the cost approach which adjusts estimates of replacement cost for the age, condition and utility of the associated assets.
Goodwill is calculated as the excess of the purchase price over the estimated fair value of net assets acquired and represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. Among the factors that contributed to a purchase price in excess of the estimated fair value of the net tangible and intangible assets acquired were the acquisition of an assembled workforce, expansion opportunities and other benefits that we believe will result from combining the operations of FlexSteel with ours. Goodwill was further increased by the deferred tax liability associated with the fair market value in excess of the tax basis acquired. The goodwill associated with this transaction has been allocated to our Spoolable Technologies segment.
The purchase price allocation is preliminary and could be revised as a result of additional information obtained regarding assets acquired and liabilities assumed and revisions of preliminary estimates of fair values including, but not limited to, certain tangible assets acquired and liabilities assumed, contractual relationships, intangible assets, certain working capital items, deferred income taxes and residual goodwill. The purchase price allocation will be finalized within the measurement period of up to one year from the acquisition date.
9

Tax-related impacts
As a result of the transaction, we acquired certain carryforward tax attributes. The Company’s current assessment is that some of these attributes should be accounted for as unrecognized tax benefits in the acquisition accounting. The unrecognized tax benefits have been offset by an indemnification asset from the seller of $5.7 million. The Company continues to evaluate the technical merits of the tax attributes, and the unrecognized tax benefit assessment is subject to change within the measurement period. Subsequent to completion of the acquisition, we determined that we expect to generate sufficient taxable income of the appropriate type to allow for the realization of the deferred tax asset associated with our investment in Cactus Companies and recognized a $12.1 million tax benefit in the first quarter of 2023 associated with the release of our valuation allowance previously provided. Additionally, we recognized $4.3 million of tax expense in the first quarter of 2023 associated with the revaluation of our deferred tax asset as a result of a change in our forecasted state rate primarily due to state impacts of the FlexSteel acquisition.
Pro forma financial information
From acquisition date through September 30, 2023, FlexSteel produced revenue of $245.8 million and net income of $34.1 million. The pro forma financial information below represents the combined results of operations for the nine months ended September 30, 2023 and for the three and nine months ended September 30, 2022, as if the acquisition had occurred as of January 1, 2022. The unaudited pro forma combined financial information includes, where applicable, adjustments for additional amortization expense related to the fair value step-up of intangible assets, additional inventory fair value step-up expense, additional depreciation expense associated with adjusting property and equipment to fair value, changes to align accounting policies, decreases in interest expense due to modification of borrowings in conjunction with the acquisition and associated tax-related impacts of adjustments. These pro forma adjustments are based on available information as of the date hereof and upon assumptions that we believe are reasonable to reflect the impact of the FlexSteel acquisition on our historical financial information on a supplemental pro forma basis. Adjustments do not include the elimination of transaction-related costs incurred or any costs related to integration activities, cost savings or synergies that have been or may be achieved by the combined business. The unaudited pro forma financial information is presented for informational purposes only and is neither indicative of the results of operations that would have occurred if the acquisition had taken place at the beginning of the period presented nor indicative of future operating results.
Three Months Ended
September 30,
Nine Months Ended
September 30,
202220232022
Revenues$274,855 $875,473 $765,847 
Net Income attributable to Cactus, Inc.33,885 132,026 83,224 
3.Accounts Receivable and Allowance for Credit Losses
We extend credit to customers in the normal course of business. Our customers are predominantly oil and gas E&P companies located in the U.S. Our receivables are short-term in nature and typically due in 30 to 60 days. We do not accrue interest on delinquent receivables. Accounts receivable includes amounts billed and currently due from customers and unbilled amounts for products delivered and services performed for which billings have not yet been submitted to the customers. Total unbilled revenue included in accounts receivable as of September 30, 2023 and December 31, 2022 was $36.6 million and $34.9 million, respectively.
We maintain an allowance for credit losses to provide for the amount of billed receivables we believe to be at risk of loss. In our determination of the allowance for credit losses, we pool receivables with similar risk characteristics based on customer size, credit ratings, payment history, bankruptcy status and other factors known to us and apply an expected credit loss percentage. The expected credit loss percentage is determined using historical loss data adjusted for current conditions and forecasts of future economic conditions. Accounts deemed uncollectible are applied against the allowance for credit losses. The following is a rollforward of our allowance for credit losses.
Balance at
Beginning of
Period
ExpenseWrite offTranslation AdjustmentsBalance at
End of
Period
Nine Months Ended September 30, 2023$1,060 $2,153 $(16)$(10)$3,187 
Nine Months Ended September 30, 2022741 224 (63)(1)901 
10

4.Inventories
Inventories are stated at the lower of cost or net realizable value. Cost is determined using standard cost (which approximates average cost). Costs include an application of related material, direct labor, duties, tariffs, freight and overhead costs. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal and transportation. Reserves are made for excess and obsolete items based on a range of factors, including age, usage and technological or market changes that may impact demand for those products. Inventories consist of the following:
September 30,
2023
December 31,
2022
Raw materials$23,144 $3,150 
Work-in-progress11,500 5,444 
Finished goods168,873 152,689 
$203,517 $161,283 
5.Property and Equipment, net
Property and equipment are stated at cost. We manufacture or construct most of our Pressure Control rental equipment assets. During the manufacture of these assets, they are reflected as construction in progress until complete. Property and equipment consists of the following:
September 30,
2023
December 31,
2022
Land
$16,442 $5,302 
Buildings and improvements
131,960 25,480 
Machinery and equipment
127,701 57,883 
Reels and skids18,028  
Vehicles35,319 29,045 
Rental equipment215,581 194,088 
Furniture and fixtures
1,905 1,759 
Computers and software
3,889 3,068 
Gross property and equipment
550,825 316,625 
Less: Accumulated depreciation
(222,998)(200,573)
Net property and equipment
327,827 116,052 
Construction in progress
17,395 13,946 
Total property and equipment, net
$345,222 $129,998 
6.Goodwill and Other Intangible Assets
Goodwill represents the excess of purchase price paid over the fair value of the net assets of acquired businesses. Goodwill is not amortized, but we evaluate at least annually whether it is impaired. Goodwill is considered impaired if the carrying amount of the reporting unit exceeds its estimated fair value. We conduct our annual assessment of the recoverability of goodwill as of December 31 of each year and more frequently if events and circumstances indicate that goodwill might be impaired. The change in carrying value of goodwill allocated to our reportable segments during the nine months ended September 30, 2023 was as follows:
Pressure ControlSpoolable TechnologiesTotal
Balance at December 31, 2022$7,824 $ $7,824 
FlexSteel acquisition 192,899 192,899 
Balance at September 30, 2023$7,824 $192,899 $200,723 
11

The following table presents the detail of acquired intangible assets other than goodwill as of September 30, 2023:
Gross CostAccumulated AmortizationNet Cost
Customer relationships$100,300 $(3,901)$96,399 
Developed technology77,000 (4,492)72,508 
Tradename16,000 (933)15,067 
Backlog7,000 (7,000) 
Total$200,300 $(16,326)$183,974 
All intangible assets are amortized over their estimated useful lives. The weighted average amortization period for identifiable intangible assets acquired is 12 years. Amortization expense recognized during the three and nine months ended September 30, 2023 was $4.0 million and $16.3 million, respectively, and was recorded in SG&A expenses in the consolidated statements of income. Estimated future amortization expense is as follows:
Remainder of 2023$3,997 
202415,987 
202515,987 
202615,987 
202715,987 
202815,987 
Thereafter100,042 
Total$183,974 
7.Debt
We had no debt outstanding as of September 30, 2023 and December 31, 2022. We had $1.5 million in letters of credit outstanding as of September 30, 2023.
In August 2018, Cactus LLC entered into a five-year senior secured asset-based revolving credit facility with a syndicate of lenders and JPMorgan Chase Bank, N.A., as administrative agent for such lenders and as an issuing bank and swingline lender (the “ABL Credit Facility”). The ABL Credit Facility was first amended in September 2020 and provided for up to $75.0 million in revolving commitments. On July 25, 2022, the ABL Credit Facility was amended again for up to $80.0 million in revolving commitments, up to $15.0 million of which was available for the issuance of letters of credit.
On February 28, 2023, in connection with the Merger, Cactus Companies assumed the rights and obligations of Cactus LLC as Borrower under the ABL Credit Facility, and the ABL Credit Facility was amended and restated in its entirety (the “Amended ABL Credit Facility”). The Amended ABL Credit Facility provides for a term loan of $125.0 million and up to $225.0 million in revolving commitments, of which $20.0 million is available for the issuance of letters of credit. Subject to certain terms and conditions set forth in the Amended ABL Credit Facility, Cactus Companies may request additional revolving commitments in an amount not to exceed $50.0 million, for a total of up to $275.0 million in revolving commitments. The term loan under the Amended ABL Credit Facility was set to mature on February 27, 2026 and any revolving loans under the Amended ABL Credit Facility mature on July 26, 2027. The maximum amount that Cactus Companies may borrow under the Amended ABL Credit Facility is subject to a borrowing base, which is based on a percentage of eligible accounts receivable and eligible inventory, subject to reserves and other adjustments.
We borrowed the full $125.0 million term loan amount and $30.0 million as a revolving loan at closing of the Amended ABL Credit Facility to fund a portion of the Merger. The term loan was required to be repaid in regular set amounts starting July 1, 2023 as set forth in the amortization schedule in the Amended ABL Credit Facility and could be prepaid without the payment of any prepayment premium (other than customary breakage costs for Term Benchmark (as defined below) borrowings). We began making discretionary prepayments on the term loan in April 2023 and continued to make payments until the entire $155.0 million we borrowed was repaid in July 2023.
Borrowings under the Amended ABL Credit Facility bear interest at Cactus Companies’ option at either (i) the Alternate Base Rate (as defined therein) (“ABR”), or (ii) the Adjusted Term SOFR Rate (as defined therein) (“Term Benchmark”), plus, in
12

each case, an applicable margin. Letters of credit issued under the Amended ABL Credit Facility accrue fees at a rate equal to the applicable margin for Term Benchmark borrowings. The applicable margin is 2.50% per annum for term loan ABR borrowings and 3.50% per annum for term loan Term Benchmark borrowings. The applicable margin for revolving loan borrowings ranges from 0.0% to 0.5% per annum for revolving loan ABR borrowings and 1.25% to 1.75% per annum for revolving loan Term Benchmark borrowings and, in each case, is based on the average quarterly availability of the revolving loan commitment under the Amended ABL Credit Facility for the immediately preceding fiscal quarter. The unused portion of revolving commitment under the Amended ABL Credit Facility is subject to a commitment fee of 0.25% per annum.
The Amended ABL Credit Facility contains various covenants and restrictive provisions that limit Cactus Companies’ and each of its subsidiaries’ ability to, among other things, incur additional indebtedness and create liens, make investments or loans, merge or consolidate with other companies, sell assets, make certain restricted payments and distributions, and engage in transactions with affiliates. The obligations under the Amended ABL Credit Facility are guaranteed by certain subsidiaries of Cactus Companies and secured by a security interest in accounts receivable, inventory, equipment and certain other real and personal property assets of Cactus Companies and the guarantors. Until the term loan was paid in full, the Amended ABL Credit Facility required Cactus Companies to maintain a leverage ratio no greater than 2.50 to 1.00 based on the ratio of Total Indebtedness (as defined therein) to EBITDA (as defined therein). The Amended ABL Credit Facility requires Cactus Companies to maintain a minimum fixed charge coverage ratio of 1.00 to 1.00 based on the ratio of EBITDA (as defined therein) minus Unfinanced Capital Expenditures (as defined therein) to Fixed Charges (as defined therein) during certain periods, including when availability under the Amended ABL Credit Facility is under certain levels. If Cactus Companies fails to perform its obligations under the Amended ABL Credit Facility, (i) the revolving commitments under the Amended ABL Credit Facility could be terminated, (ii) any outstanding borrowings under the Amended ABL Credit Facility may be declared immediately due and payable, and (iii) the lenders may commence foreclosure or other actions against the collateral. We were in compliance with all covenants under the Amended ABL Credit Facility as of September 30, 2023.
8.Revenue
The majority of our revenues are derived from short-term contracts for fixed consideration or in the case of rentals, for a fixed charge per day plus repairs while the equipment is in use by the customer. Product sales generally do not include right of return or other significant post-delivery obligations. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Revenues are recognized when we satisfy a performance obligation by transferring control of the promised goods or providing services to our customers at a point in time, in an amount specified in the contract with our customer and that reflects the consideration to which we expect to be entitled in exchange for those goods or services. The majority of our contracts with customers contain a single performance obligation to provide agreed upon products or services. For contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We do not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract with the customer. We do not incur any material costs of obtaining contracts.
We do not adjust the amount of consideration per the contract for the effects of a significant financing component when we expect, at contract inception, that the period between the transfer of a promised good or service to a customer and when the customer pays for that good or service will be one year or less, which is in substantially all cases. Payment terms and conditions vary, although terms generally include a requirement of payment within 30 to 60 days of invoicing. Revenues are recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. We treat shipping and handling associated with outbound freight as a fulfillment cost instead of as a separate performance obligation. We recognize the cost for the associated shipping and handling when incurred as an expense in cost of sales.
We disaggregate revenue into three categories: product revenues, rental revenues and field service and other revenues. We have predominately domestic operations with a small amount of sales in Australia, Canada, the Middle East and other international markets. The following table presents our revenues disaggregated by category:
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Product revenue
$214,295 74 %$121,782 66 %$605,698 74 %$328,054 65 %
Rental revenue
28,879 10 %27,105 15 %84,916 10 %73,143 15 %
Field service and other revenue
44,696 16 %35,594 19 %131,480 16 %99,398 20 %
Total revenues$287,870 100 %$184,481 100 %$822,094 100 %$500,595 100 %
13

At September 30, 2023, we had a deferred revenue balance of $8.6 million compared to the December 31, 2022 balance of $1.5 million. Deferred revenue represents our obligation to transfer products to or perform services for a customer for which we have received cash or billed in advance. The revenue that has been deferred will be recognized upon product delivery or as services are performed. As of September 30, 2023, we did not have any contracts with an original length of greater than a year from which revenue is expected to be recognized in the future related to performance obligations that are unsatisfied.
9.Tax Receivable Agreement (TRA)
In connection with our initial public offering (“IPO”) in February 2018, we entered into the TRA which generally provides for payment by Cactus Inc. to certain direct and indirect owners of Cactus LLC (after the CC Reorganization, Cactus Companies) of 85% of the net cash savings, if any, in U.S. federal, state and local income tax and franchise tax that Cactus Inc. actually realizes or is deemed to realize in certain circumstances. Cactus Inc. will retain the benefit of the remaining 15% of these net cash savings.
The TRA liability is calculated by determining the tax basis subject to the TRA (“tax basis”) and applying a blended tax rate to the basis differences and calculating the resulting iterative impact. The blended tax rate consists of the U.S. federal income tax rate and an assumed combined state and local income tax rate driven by the apportionment factors applicable to each state. Subsequent changes to the measurement of the TRA liability are recognized in the statements of income as a component of other expense, net. After finalizing its 2022 federal tax return in September 2023, Cactus Inc. made a $26.9 million TRA payment, which is equal to 85% of the $31.6 million 2022 tax benefit resulting from the exchange of CC Units for shares of Class A common stock. In September 2022, Cactus Inc. made an $11.7 million TRA payment based on its 2021 federal tax return. As of September 30, 2023, the total liability from the TRA was $271.1 million with $20.9 million reflected in current liabilities based on the expected timing of our next payment. The payments under the TRA will not be conditional on a holder of rights under the TRA having a continued ownership interest in either Cactus Companies or Cactus Inc.
The term of the TRA commenced upon completion of our IPO and will continue until all tax benefits that are subject to the TRA have been utilized or expired, unless we exercise our right to terminate the TRA. If we elect to terminate the TRA early (or it is terminated early due to certain mergers, asset sales, other forms of business combinations or other changes of control), our obligations under the TRA would accelerate and we would be required to make an immediate payment equal to the present value of the anticipated future payments to be made by us under the TRA and such payment is expected to be substantial. The calculation of anticipated future payments will be based upon certain assumptions and deemed events set forth in the TRA, including the assumptions that (i) we have sufficient taxable income to fully utilize the tax benefits covered by the TRA and (ii) any CC Units (other than those held by Cactus Inc.) outstanding on the termination date are deemed to be redeemed on the termination date. Any early termination payment may be made significantly in advance of the actual realization, if any, of the future tax benefits to which the termination payment relates.
We may elect to defer payments due under the TRA if we do not have available cash to satisfy our payment obligations under the TRA. Any such deferred payments under the TRA generally will accrue interest from the due date for such payment until the payment date.
10.Equity
As of September 30, 2023, Cactus Inc. owned 82.2% of Cactus Companies as compared to 80.3% of Cactus LLC (prior to the CC Reorganization) as of December 31, 2022. As of September 30, 2023, Cactus Inc. had outstanding 65.3 million shares of Class A common stock (representing 82.2% of the total voting power) and 14.1 million shares of Class B common stock (representing 17.8% of the total voting power).
Equity Offering
In January 2023, Cactus Inc. completed an underwritten offering of 3,224,300 shares of Class A common stock at a price to the underwriters of $51.36 per share for net proceeds of $165.6 million (net of $6.9 million of underwriting discounts and commissions). In addition to the underwriting discounts and commissions, approximately $2.2 million of costs directly associated with the stock issuance were recorded as a reduction to additional paid-in capital.
FlexSteel Acquisition
In conjunction with the FlexSteel acquisition, a restricted stock award of 128,150 shares of Class A common stock was issued under the Company’s long-term incentive plan to a key employee in exchange for cash consideration of $6.5 million. The shares
14

are restricted from sale or trading and are subject to vesting requirements for one year from grant date. If the fair market value of the restricted shares is below the purchase price upon vesting, Cactus will compensate the key employee for the difference in price plus a gross-up for taxes. We are accounting for this guaranteed payment as stock compensation with liability classification and remeasure the liability to fair value at each reporting period. Compensation cost is being recognized ratably over the one-year vesting period. The liability balance is $0.7 million as of September 30, 2023 and is included in accrued expenses and other current liabilities in the consolidated balance sheets. We recognized $0.2 million of compensation expense in SG&A in the consolidated statements of income during the nine months ended September 30, 2023.
CC Reorganization
As part of the CC Reorganization in connection with the acquisition of FlexSteel, Cactus Companies acquired all of the outstanding units representing limited liability company interests of Cactus LLC ( “CW Units”) in exchange for an equal number of CC Units issued to each of the previous owners of CW Units other than Cactus Inc. (the “CW Unit Holders”). Upon the completion of the CC Reorganization, CW Unit Holders ceased to be holders of CW Units and, instead, became holders of a number of CC Units equal to the number of CW Units such CW Unit Holders held immediately prior to the completion of the CC Reorganization. After the CC Reorganization, we refer to the owners of CC Units, other than Cactus Inc. (along with their permitted transferees), as “CC Unit Holders.” Following the completion of the CC Reorganization, CC Unit Holders own one share of our Class B Common Stock for each CC Unit such CC Unit Holder owns.
In connection with the CC Reorganization, Cactus Inc. and the owners of CC Units entered into the Amended and Restated Limited Liability Company Operating Agreement of Cactus Companies (the “Cactus Companies LLC Agreement”), which contains substantially the same terms and conditions as the Second Amended and Restated Limited Liability Company Operating Agreement of Cactus LLC (the “Cactus Wellhead LLC Agreement”), which was the limited liability company operating agreement of Cactus LLC prior to the CC Reorganization. Cactus Inc. was responsible for all operational, management and administrative decisions relating to Cactus LLC’s business for the period from completion of our IPO until the CC Reorganization and relating to Cactus Companies’ business for periods after the CC Reorganization. Pursuant to the Cactus Companies LLC Agreement, each holder of CC Units has, subject to certain limitations, the right to cause Cactus Companies to acquire all or at least a minimum portion of its CC Units for, at Cactus Companies’ election, (x) shares of our Class A common stock at a redemption ratio of one share of Class A common stock for each CC Unit redeemed, subject to conversion rate adjustments for stock splits, stock dividends and reclassification and other similar transactions, or (y) an equivalent amount of cash. Alternatively, upon the exercise of such redemption right, Cactus Inc. (instead of Cactus Companies) has the right to acquire each tendered CC Unit directly from the exchanging CC Unit Holder for, at its election, (x) one share of Class A common stock, subject to conversion rate adjustments for stock splits, stock dividends and reclassifications and other similar transactions, or (y) an equivalent amount of cash. In connection with any redemption of CC Units pursuant to such redemption right or our alternative right to acquire each tendered CC Unit, the corresponding number of shares of Class B common stock would be canceled.
Redemptions of CC Units
Pursuant to the Cactus Companies LLC Agreement, holders of CC Units are entitled to redeem their CC Units, which results in additional Class A common stock outstanding. Since our IPO in February 2018, an aggregate of 46.5 million of CC Units (including CW Units prior to the CC Reorganization) and a corresponding number of shares of Class B common stock have been redeemed in exchange for shares of Class A common stock.
During the nine months ended September 30, 2023, 0.9 million CC Units, together with a corresponding number of shares of Class B common stock, were redeemed in exchange for Class A common stock in accordance with the Cactus Companies LLC Agreement. During the nine months ended September 30, 2022, 1.5 million CW Units, together with a corresponding number of shares of Class B common stock, were redeemed in exchange for Class A common stock in accordance with the Cactus Wellhead LLC Agreement. There was no change in the combined number of Cactus Inc. voting shares outstanding as a result of the redemptions.
Dividends
Aggregate cash dividends of $0.34 per share of Class A common stock declared during the nine months ended September 30, 2023 totaled $22.3 million compared to $0.33 per share of Class A common stock and $20.1 million during the nine months ended September 30, 2022. Cash dividends paid during the nine months ended September 30, 2023 and 2022 totaled $22.3 million and $20.0 million, respectively. Dividends accrue on unvested equity-based awards on the date of record and are paid upon vesting. Dividends are not paid to our Class B common stockholders; however, a corresponding distribution up to the same
15

amount per share as our Class A common stockholders is paid to the owners of CC Units other than Cactus Inc. for any dividends declared on our Class A common stock. See further discussion of the distributions below under “Member Distributions.”
Share Repurchase Program
On June 6, 2023, our board of directors authorized the Company to repurchase shares of its Class A common stock for an aggregate purchase price of up to $150 million. Under our share repurchase program, shares may be repurchased from time to time in open market transactions or block trades, in privately negotiated transactions or any other method permitted under U.S. securities laws, rules and regulations. The repurchase program does not obligate the Company to purchase any particular amount of shares, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. During the nine months ended September 30, 2023, the Company purchased and retired 4,007 shares of Class A common stock for $0.2 million or $39.69 average price per share excluding commissions, under the share repurchase program. As of September 30, 2023, $149.8 million remained authorized for future repurchases of Class A common stock under the program.
Member Distributions
Distributions made by Cactus Companies are generally required to be made pro rata among all its members. For the nine months ended September 30, 2023, Cactus Companies distributed $63.1 million to Cactus Inc. to fund its dividend, TRA and estimated tax payments and made pro rata distributions to the other members totaling $13.9 million over the same period. During the nine months ended September 30, 2022, Cactus Companies distributed $31.7 million to Cactus Inc. to fund its dividend, TRA and estimated payments and made pro rata distributions to the other members totaling $8.0 million.
Limitation of Members’ Liability
Under the terms of the Cactus Companies LLC Agreement, the members of Cactus Companies are not obligated for debt, liabilities, contracts or other obligations of Cactus Companies. Profits and losses are allocated to members as defined in the Cactus Companies LLC Agreement.
11.Commitments and Contingencies
We are involved in various disputes arising in the ordinary course of business. Management does not believe the outcome of these disputes will have a material adverse effect on our consolidated financial position or consolidated results of operations.
12.Fair Value Measurements
Authoritative guidance on fair value measurements provides a framework for measuring fair value and establishes a fair value hierarchy that prioritizes the inputs used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 inputs) and the lowest priority to unobservable inputs (Level 3 inputs). The carrying value of cash and cash equivalents, receivables, accounts payable and accrued expenses approximates fair value based on the short-term nature of these accounts.
The following table sets forth our liabilities that are measured at fair value on a recurring basis by level within the fair value hierarchy:
Fair Value at September 30, 2023
Level 1Level 2Level 3Total
Liabilities:
Earn-out liability$ $ $18,892 $18,892 
Put option liability  777 777 
The earn-out liability related to the FlexSteel acquisition (see Note 2) is measured at fair value using Level 3 unobservable inputs at the end of each reporting period with changes in its estimated fair value recorded in earnings until the liability is settled. The fair value is determined based on the evaluation of the probability and amount of earn-out that may be achieved based on expected future performance of FlexSteel using a Monte Carlo simulation model. The Monte Carlo simulation model uses assumptions including revenue volatilities, risk free rates, credit discount rates and revenue discount rates. Significant changes in any of those assumptions could have a material effect on the estimated fair value of the earn-out payment. The following table
16

sets forth the range of inputs for the significant assumptions utilized to determine the fair value of the earn-out payment as of September 30, 2023:
September 30, 2023
Risk-free interest rate5.60%to5.63%
Expected revenue volatility25.20%
Revenue discount rate10.88%to10.92%
Credit discount rate10.90%to11.00%
The put option liability represents the guaranteed payment on restricted stock purchased in conjunction with the FlexSteel acquisition (see Note 10). This liability is measured at fair value at the end of each reporting period until the liability is settled with changes in fair value from grant date recognized ratably over the one-year vesting period. The fair value is determined using the Black-Scholes option pricing method that utilizes a selected volatility calculated based on weighting historical and implied volatility indications. As the selected volatility involves judgement and is a significant input to estimating the fair value of the put option, it is classified as a Level 3 input. Significant changes in the volatility could have a material effect on the estimated fair value of the put option liability. The following table sets forth the inputs for the significant assumptions utilized to determine the fair value of the put option liability as of September 30, 2023:
September 30, 2023
Risk-free interest rate5.46%
Expected volatility39.27%
Dividend yield0.95%
The following table presents a summary of the changes in fair value of our liabilities measured using Level 3 inputs:
Earn-outPut Option
Opening Balance$5,960 $510 
Changes in fair value (1)
12,932 267 
Balance at September 30, 2023$18,892 $777 
(1)We recognized $12.9 million of remeasurement expense associated with the change in the fair value of the earn-out liability during the nine months ended September 30, 2023. During the three months ended March 31, 2023, a $0.1 million gain was recognized in other income, net in the consolidated statements of operations. After the first quarter of 2023, the change in fair value of the earn-out liability is being presented separately as a component of operating income with $13.1 million of expense recognized during the six months ended September 30, 2023. For the put option liability, we recognized $0.2 million of expense associated with the change in fair value in SG&A in the consolidated statements of income during the nine months ended September 30, 2023.
The fair value of our foreign currency forwards was less than $0.1 million as of September 30, 2023 and was determined using market observable inputs including forward and spot prices (Level 2 inputs).
13.Segment Reporting
Prior to the acquisition of FlexSteel, we operated in a single segment which reflected how our business was managed and the nature of our products and services. Upon completion of the acquisition, we re-evaluated our reportable segments and now report two business segments. Our business segments offer different products and services and correspond to the manner in which our chief operating decision maker reviews and evaluates operating performance to make decisions about resources to be allocated to each segment.
Our reporting segments are:
Pressure Control – engaged in the design, manufacture, sale, installation and service of wellhead and pressure control equipment utilized during the drilling, completion and production phases of oil and gas wells.
Spoolable Technologies – engaged in the design, manufacture, sale, installation, service and associated rental of onshore spoolable pipe technologies utilized for production, gathering and takeaway transportation of oil, gas or other liquids.
17

Financial information by business segment for the three and nine months ended September 30, 2023 and 2022 is summarized below.
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Revenue:
Pressure Control$182,484 $184,481 $576,273 $500,595 
Spoolable Technologies105,386  245,821  
Total revenues287,870 184,481 822,094 500,595 
Operating income:
Pressure Control (1)
47,830 51,296 151,809 126,527 
Spoolable Technologies39,773  34,004  
Total operating income87,603 51,296 185,813 126,527 
Interest income (expense), net(1,372)1,140 (6,298)1,344 
Other income, net266 1,125 3,804 10 
Income before income taxes$86,497 $53,561 $183,319 $127,881 
(1)Includes corporate and other costs not directly attributable to our reporting segments such as corporate executive management and other administrative functions.
14.Earnings per Share
Basic earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during the period by the weighted average number of shares of Class A common stock outstanding during the same period. Diluted earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during that period by the weighted average number of common shares outstanding assuming all potentially dilutive shares were issued.
We use the if-converted method to determine the potential dilutive effect of outstanding CC Units (and corresponding shares of outstanding Class B common stock), the treasury stock method to determine the potential dilutive effect of unvested restricted stock units assuming that the proceeds will be used to purchase shares of Class A common stock and the contingently issuable share method to determine the potential dilutive effect of unvested performance stock units.
The following table summarizes the basic and diluted earnings per share calculations:
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Numerator:
Net income attributable to Cactus Inc.—basic
$52,580 $31,425 $120,224 $79,185 
Net income attributable to non-controlling interest (1)
  24,874 19,686 
Net income attributable to Cactus Inc.—diluted (1)
$52,580 $31,425 $145,098 $98,871 
Denominator:
Weighted average Class A shares outstanding—basic
64,879 60,665 64,399 60,164 
Effect of dilutive shares (2)
607 441 15,233 16,132 
Weighted average Class A shares outstanding—diluted (2)
65,486 61,106 79,632 76,296 
Earnings per Class A share—basic
$0.81 $0.52 $1.87 $1.32 
Earnings per Class A share—diluted (1)(2)
$0.80 $0.51 $1.82 $1.30 
(1)The numerator is adjusted in the calculation of diluted earnings per share under the if-converted method to include net income attributable to the non-controlling interest calculated as its pre-tax income adjusted for a corporate effective tax rate of 26.0% for the nine months ended September 30, 2023 and 25.0% for the nine months ended September 30, 2022.
(2)Diluted earnings per share for the three months ended September 30, 2023 and 2022 excludes 14.6 million and 15.2 million, respectively, of weighted average shares of Class B common stock as the effect would be anti-dilutive.
18

Item 2.   Management’s Discussion and Analysis of Financial Condition and Results of Operations.
Except as otherwise indicated or required by the context, all references in this Quarterly Report to the “Company,” “Cactus,” “we,” “us” and “our” refer to Cactus, Inc. (“Cactus Inc.”) and its consolidated subsidiaries, unless we state otherwise or the context otherwise requires. The following discussion and analysis of our financial condition and results of operations should be read in conjunction with the accompanying unaudited condensed consolidated financial statements and related notes. The following discussion contains “forward-looking statements” that reflect our plans, estimates, beliefs and expected performance. Our actual results may differ materially from those anticipated as discussed in these forward-looking statements as a result of a variety of risks and uncertainties, which are difficult to predict, including those described above in “Cautionary Note Regarding Forward-Looking Statements,” and in the risk factors included in “Part I, Item 1A. Risk Factors” in our 2022 Annual Report, in “Part II, Item 1A. Risk Factors” of our Quarterly Report on Form 10-Q for the quarter ended March 31, 2023 and in “Part II, Item 1A. Risk Factors” of this Quarterly Report. In light of these risks, uncertainties and assumptions, the forward-looking events discussed may not occur. We assume no obligation to update any of these forward-looking statements except as otherwise required by law.
Executive Summary
Cactus is an equipment solutions provider primarily for onshore oil and gas markets. Founded in 2011 by a management group that previously operated two of the largest wellhead providers at the time, Cactus has rapidly grown to be a leading provider of wellhead solutions to the U.S. onshore market. On February 28, 2023, Cactus acquired FlexSteel, which similarly grew from its founding in 2003 to its current status as a leading provider of spoolable pipe technologies primarily to the U.S. onshore market.
Including final adjustments for closing working capital, cash on hand and indebtedness as set forth in the merger agreement, we paid total cash consideration of approximately $621.5 million for the FlexSteel acquisition. Additionally, there is a potential future earn-out payment of up to $75 million to be paid no later than the third quarter of 2024 if certain revenue growth targets are met by FlexSteel. We believe this acquisition enhances our position as a premier manufacturer and provider of highly engineered equipment to the E&P industry and should provide meaningful growth potential. We further believe FlexSteel’s products are highly complementary to Cactus’ equipment as it expands our exposure to our customers’ operations from production trees to transportation of oil, gas and other liquids as well as to additional customers operating in the midstream area.
Demand for our products and services depends primarily upon oil and gas industry activity levels, including the number of active drilling rigs, the number of wells being drilled, the number of wells being completed, and the volume of newly producing wells, among other factors.
Revenues
Our revenues are derived from three sources: products, rentals, and field service and other. Product revenues are derived from the sale of wellhead systems, production trees and spoolable pipe and fittings. Rental revenues are primarily derived from the rental of equipment used during the completion process, the repair of such equipment and the rental of equipment or tools used to install wellhead equipment or spoolable pipe. Field service and other revenues are primarily earned when we provide installation and other field services for both product sales and equipment rental.
During the nine months ended September 30, 2023, we derived 74% of total revenues from the sale of our products, 10% of total revenues from rental and 16% of total revenues from field service and other. During the nine months ended September 30, 2022, we derived 65% of total revenues from the sale of our products, 15% of total revenues from rental and 20% of total revenues from field service and other. We have predominantly domestic operations with more limited operations in Australia, Canada, and the Middle East as well as sales in other international markets.
Following the acquisition of FlexSteel, we now operate in two business segments consisting of the Pressure Control segment and the Spoolable Technologies segment.
Pressure Control
The Pressure Control segment designs, manufactures, sells and rents a range of wellhead and pressure control equipment under the Cactus Wellhead brand. Products are sold and rented principally for onshore unconventional oil and gas wells and are utilized during the drilling, completion and production phases of our customers’ wells. In addition, we provide field services for all of our products and rental items to assist with the installation, maintenance and handling of the equipment.
19

We operate through service centers in the United States, which are strategically located in the key oil and gas producing regions, and in Eastern Australia. These service centers support our field services and provide equipment assembly and repair services. We also provide rental and service operations in the Kingdom of Saudi Arabia. Pressure Control manufacturing and production facilities are located in Bossier City, Louisiana and Suzhou, China.
Demand for our product sales in the Pressure Control segment are driven primarily by the number of new wells drilled, as each new well requires a wellhead and, after the completion phase, a production tree. Demand for our rental items is driven primarily by the number of well completions as we rent frac trees to oil and gas operators to assist in hydraulic fracturing. Rental demand is also driven to a lesser extent by drilling activity as we rent tools used in the installation of wellheads. Field service and other revenues are closely correlated with revenues from product sales and rentals, as items sold or rented almost always have an associated service component.
Spoolable Technologies
The Spoolable Technologies segment designs, manufactures, and sells spoolable pipe and associated end fittings under the FlexSteel brand. Our customers use these products primarily as production, gathering and takeaway pipelines to transport oil, gas or other liquids. In addition, we also provide field services and rental items to assist our customers with the installation of these products. We support our field service operations through service centers and pipe yards located in oil and gas regions throughout the United States and Western Canada. Our manufacturing facility is located in Baytown, Texas.
Demand for our product sales in the Spoolable Technologies segment are driven primarily by the number of wells being placed into production after the completions phase as customers use our spoolable pipe and associated fittings to bring wells more rapidly onto production. Rental and field service and other revenues are closely correlated with revenues from product sales, as items sold usually have an associated rental and service component.
Recent Developments and Trends
FlexSteel Acquisition
As previously discussed, we completed the acquisition of FlexSteel on February 28, 2023. The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition through September 30, 2023. See Note 2 to the unaudited condensed consolidated financial statements for additional information related to the acquisition.
Oil and Natural Gas Prices
The following table summarizes average oil and natural gas prices in North America over the indicated periods as well as industry activity levels as reflected by the average number of active onshore drilling rigs during the same periods.
Three Months EndedNine Months Ended
September 30, 2023June 30, 2023September 30, 2023September 30, 2022
WTI Oil Price ($/bbl) (1)
$82.25 $73.54 $77.27 $98.96 
Natural Gas Price ($/MMBtu) (2)
$2.59 $2.16 $2.46 $6.74 
U.S. Land Drilling Rigs (3)
627698689688
(1) EIA Cushing, OK WTI (“West Texas Intermediate”) spot price.
(2) EIA Henry Hub Natural Gas spot price per million British Thermal Unit (“MMBtu”).
(3) Baker Hughes.
As expected, drilling and completion activity levels declined in the third quarter of 2023. The average number of U.S. land drilling rigs decreased by 17% from the fourth quarter of 2022 with most of the reductions occurring in the third quarter of 2023. Oil prices rose 12% in the third quarter compared to the second quarter of 2023 as global oil demand remained strong and concerns regarding tightening supply emerged due to continued OPEC+ production cuts. The recent conflict in the Middle East has resulted in some volatility in oil prices due to concerns regarding the potential impact on global oil supplies. Natural gas prices have also risen since the second quarter of 2023 primarily due to declining drilling activity and moderating storage surplus.
20

Barring any significant developments in the Middle East, we believe oil and natural gas activity levels in the fourth quarter of 2023 will display a modest recovery compared with the third quarter.
Critical Accounting Policies and Estimates
A discussion of our critical accounting policies and estimates is contained in our 2022 Annual Report on Form 10-K. There have not been any changes in our critical accounting policies since December 31, 2022 other than the following additional critical accounting estimate.
Determination of Fair Value in Business Combinations
Accounting for the acquisition of a business requires the allocation of the purchase price to the various assets acquired and liabilities assumed at their respective fair values. The determination of fair value requires the use of significant estimates and assumptions, and in making these determinations, management uses all available information. If necessary, we have up to one year after the acquisition closing date to finalize these fair value determinations under the applicable GAAP. For tangible and identifiable intangible assets acquired in a business combination, the determination of fair value utilizes several valuation methodologies including discounted cash flows which has assumptions with respect to the timing and amount of future revenue and expenses associated with an asset. The assumptions made in performing these valuations include, but are not limited to, discount rates, future revenues and operating costs, projections of capital costs, and other assumptions believed to be consistent with those used by principal market participants. Due to the specialized nature of these calculations, we engage third-party specialists to assist management in evaluating our assumptions as well as appropriately measuring the fair value of assets acquired and liabilities assumed.
Consolidated Results of Operations
The following discussions relating to significant line items from our condensed consolidated statements of income are based on available information and represent our analysis of significant changes or events that impact the comparability of reported amounts. Where appropriate, we have identified specific events and changes that affect comparability or trends and, where reasonably practicable, have quantified the impact of such items.
Three Months Ended September 30, 2023 Compared to Three Months Ended June 30, 2023

The following table presents summary consolidated operating results for the periods indicated:
Three Months Ended
September 30, 2023June 30, 2023$ Change% Change
(in thousands)
Revenues
Pressure Control$182,484 $199,134 $(16,650)(8.4)%
Spoolable Technologies105,386 106,685 (1,299)(1.2)
Total revenues287,870 305,819 (17,949)(5.9)
Operating income
Pressure Control47,830 54,540 (6,710)(12.3)
Spoolable Technologies39,773 (6,018)45,791 nm
Total operating income87,603 48,522 39,081 80.5 
Interest expense, net(1,372)(5,928)4,556 (76.9)
Other income, net266 — 266 nm
Income before income taxes86,497 42,594 43,903 nm
Income tax expense18,478 10,135 8,343 82.3 %
Net income68,019 32,459 35,560 nm
Less: net income attributable to non-controlling interest15,439 7,709 7,730 nm
Net income attributable to Cactus Inc.$52,580 $24,750 $27,830 nm
nm = not meaningful
21

Pressure Control. Pressure Control revenue for the third quarter of 2023 was $182.5 million, a decrease of $16.7 million, or 8.4%, from $199.1 million for the second quarter of 2023 primarily due to decreased sales of wellhead and production related equipment and related field services resulting from reduced activity offset slightly by higher rental revenues. Pressure Control operating income of $47.8 million for the third quarter of 2023 decreased $6.7 million, or 12.3% from the second quarter of 2023. The decreased revenues and associated gross margins related to equipment sales and field services were offset by higher gross margins associated with rentals driven by higher revenue and lower depreciation expense on our rental fleet. Selling, general and administrative expenses (“SG&A”) decreased approximately $2.0 million from the second quarter primarily due to lower bad debt expense, professional fees, stock-based compensation expense and annual incentive bonus accruals.
Spoolable Technologies. Spoolable Technologies revenue for the third quarter of 2023 was $105.4 million, a decrease of $1.3 million from the second quarter of 2023. Total operating income for Spoolable Technologies for the third quarter of 2023 was $39.8 million compared to an operating loss of $6.0 million for the second quarter of 2023. The improvement in operating income was mainly due to recognition of a gain of $5.1 million for the change in fair value of the earn-out payment for the FlexSteel acquisition in the third quarter compared to an $18.1 million loss in the second quarter. Additional increases in operating income from the second quarter were due to a $19.3 million decrease in inventory step-up expense and a $4.7 million reduction in intangible amortization expense.
Interest expense, net. Interest expense, net was $1.4 million for the third quarter of 2023 compared to $5.9 million for the second quarter of 2023. The decrease in interest expense from the second quarter was the result of our repayment of $55.0 million under the Amended ABL Credit Facility in July 2023, reducing our total bank debt outstanding to zero.
Other income, net. Other income, net of $0.3 million for the third quarter of 2023 represented non-cash adjustments for the revaluation of the liability related to the tax receivable agreement as a result of changes to the state tax rate.
Income tax expense. Income tax expense for the third quarter of 2023 was $18.5 million compared to $10.1 million for the second quarter of 2023. The increase in income tax expense from the second quarter was primarily due to an increase in operating income quarter over quarter. Cactus Inc. is only subject to federal and state income tax on its share of income from Cactus Companies. Income allocated to the non-controlling interest is only taxable to the non-controlling interest.
Nine Months Ended September 30, 2023 Compared to Nine Months Ended September 30, 2022

The following table presents summary consolidated operating results for the periods indicated:
Nine Months Ended
September 30,
20232022$ Change% Change
(in thousands)
Revenues
Pressure Control$576,273 $500,595 $75,678 15.1 %
Spoolable Technologies245,821 — 245,821 nm
Total revenues822,094 500,595 321,499 64.2 
Operating income
Pressure Control151,809 126,527 25,282 20.0 
Spoolable Technologies34,004 — 34,004 nm
Total operating income185,813 126,527 59,286 46.9 
Interest income (expense), net(6,298)1,344 (7,642)nm
Other income, net3,804 10 3,794 nm
Income before income taxes183,319 127,881 55,438 43.4 
Income tax expense30,553 23,498 7,055 30.0 
Net income152,766 104,383 48,383 46.4 
Less: net income attributable to non-controlling interest32,542 25,198 7,344 29.1 
Net income attributable to Cactus Inc.$120,224 $79,185 $41,039 51.8 %
nm = not meaningful
22

Pressure Control. Pressure Control revenue was $576.3 million for the first nine months of 2023, an increase of $75.7 million, or 15.1%, from $500.6 million for the first nine months of 2022. This was primarily due to higher sales of wellhead and production related equipment resulting from higher drilling and completion activity by our customers. In addition, increased rental of drilling and completion equipment and field service associated with product and rental revenues increased as a result of the abovementioned activity. Operating income of $151.8 million in the first nine months of 2023 increased $25.3 million, or 20.0%, from $126.5 million in the first nine months of 2022. The increase was primarily attributable to higher gross margins during the period due to the increased volume partially offset by higher SG&A expenses. The increase in SG&A expenses primarily related to $11.9 million of professional fees and expenses incurred in 2023 associated with the FlexSteel acquisition, higher bad debt expense and higher stock-based compensation expense.
Spoolable Technologies. Spoolable Technologies revenue of $245.8 million and operating income of $34.0 million represents FlexSteel results generated from February 28, 2023, the date of acquisition, through September 30, 2023. The results for Spoolable Technologies included approximately $13.1 million of expense related to the change in fair value of the estimated earn-out payment for the FlexSteel acquisition, $23.5 million of inventory step-up expense and $16.3 million of intangible amortization expense as well as depreciation expense of $9.9 million primarily associated with the step-up of fixed assets in connection with accounting for the purchased assets at fair value in conjunction with purchase accounting.
Interest income (expense), net. Interest expense, net was $6.3 million for the first nine months of 2023 compared to $1.3 million of interest income, net for the nine months ended September 30, 2022. Interest expense in 2023 primarily related to borrowings outstanding through July 2023 under the Amended ABL Credit Facility.
Other income, net. Other income, net for 2023 and 2022 primarily related to non-cash adjustments for the revaluation of the liability related to the tax receivable agreement as a result of changes to the state tax rate.
Income tax expense. Income tax expense for the first nine months of 2023 was $30.6 million compared to $23.5 million for the first nine months of 2022. Income tax expense for 2023 included an approximately $38.3 million expense associated with current income offset by a $12.1 million benefit associated with the release of our valuation allowance previously provided for our investment in Cactus Companies based on the determination that the deferred tax asset was realizable due to our ability to generate sufficient taxable income of the appropriate type. Additionally, we recognized $4.3 million of expense associated with the revaluation of our deferred tax asset as a result of a change in our forecasted state tax rate, $0.5 million of expense related to the finalization of our 2022 tax returns and a $0.4 million benefit associated with permanent differences related to equity compensation. Income tax expense for 2022 included approximately $26.3 million expense associated with current income offset by a $1.7 million benefit associated with permanent differences related to equity compensation and a $1.2 million tax benefit associated with the partial valuation allowance release in conjunction with CW Unit redemptions during 2022. Partial valuation releases occur in conjunction with redemptions of CW Units (or CC Units, in the case of redemptions after the CC Reorganization) as a portion of Cactus Inc.’s deferred tax assets from its investment in Cactus LLC (or, after the CC Reorganization, its investment in Cactus Companies) becomes realizable.
Liquidity and Capital Resources
At September 30, 2023, we had $63.7 million of cash and cash equivalents. Our primary sources of liquidity and capital resources are cash on hand, cash flows generated by operating activities and borrowings under our Amended ABL Credit Facility (as defined in Note 7 in the notes to the unaudited condensed consolidated financial statements). Depending upon market conditions and other factors, we may also have the ability to issue additional equity and debt if needed. As of September 30, 2023, we had $222.9 million of available borrowing capacity under our Amended ABL Credit Facility with no outstanding borrowings and $1.5 million in letters of credit outstanding. We were in compliance with the covenants of the Amended ABL Credit Facility as of September 30, 2023.
In June 2023, our board of directors authorized the Company to repurchase shares of its Class A common stock for an aggregate purchase price of up to $150 million. Under our share repurchase program, shares may be repurchased from time to time in open market transactions or block trades, in privately negotiated transactions or any other method permitted under U.S. securities laws, rules and regulations. The repurchase program does not obligate the Company to purchase any particular amount of shares, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion.
We believe that our existing cash on hand, cash generated from operations and available borrowings under our Amended ABL Credit Facility will be sufficient for at least the next 12 months to meet working capital requirements, debt service obligations, anticipated capital expenditures, repurchases of shares of our Class A common stock, expected TRA liability
23

payments, anticipated tax liabilities and dividends to holders of our Class A common stock as well as pro rata cash distributions to holders of CC Units other than Cactus Inc.
We currently estimate our net capital expenditures for the year ending December 31, 2023 will range from $35 million to $40 million. In the Pressure Control segment, capital expenditures are primarily related to rental fleet investments, the March 2023 purchase of our previously leased branch facility in Odessa, Texas, international expansion, diversification of our low cost supply chain and development of a recently-leased research and development facility in Houston, Texas. In the Spoolable Technologies segment, capital expenditures are primarily related to manufacturing plant enhancements and additional deployment equipment to facilitate installation of recent product introductions.
Our ability to satisfy our long-term liquidity requirements, including cash requirements to fund income tax liabilities and the TRA liability at Cactus Inc. along with associated distributions to holders of CC Units relating to their ownership of Cactus Companies, depends on our future operating performance, which is affected by, and subject to, prevailing economic conditions, market conditions in the E&P industry, availability and cost of raw materials, and financial, business and other factors, many of which are beyond our control. We will not be able to predict or control many of these factors, such as economic conditions in the markets where we operate and competitive pressures. If necessary, we could choose to further reduce our spending on capital expenditures and operating expenses to ensure we operate within the cash flow generated from our operations.
Cash Flows
Nine Months Ended September 30, 2023 Compared to Nine Months Ended September 30, 2022
The following table summarizes our cash flows for the periods indicated:
Nine Months Ended
September 30,
20232022
(in thousands)
Net cash provided by operating activities$248,602 $78,605 
Net cash used in investing activities(645,242)(19,496)
Net cash provided by (used in) financing activities116,651 (37,187)
Net cash provided by operating activities was $248.6 million and $78.6 million for the nine months ended September 30, 2023 and 2022, respectively. Operating cash flows for 2023 increased due to higher income and a decrease in cash outflows associated with working capital, largely related to decreased purchases of Pressure Control inventories as well as higher collections on receivable balances. These increases in operating cash flows were slightly offset by $15.7 million of additional income tax payments, higher TRA payments of $15.2 million and $4.3 million of additional interest paid in 2023 compared to 2022.
Net cash used in investing activities was $645.2 million and $19.5 million for the nine months ended September 30, 2023 and 2022, respectively. The increase was primarily due to cash paid to acquire FlexSteel for $621.5 million less $5.3 million in cash acquired. Additionally, our capital expenditures increased approximately $12.2 million primarily due to the $7.0 million purchase of a previously leased facility and Pressure Control rental fleet additions and enhancements. Capital expenditures for the Spoolable segment have been modest since the acquisition, totaling approximately $1.1 million through September 30, 2023. Other movements in our investing activities were related to the increase in proceeds from sales of assets of approximately $2.6 million from 2022.
Net cash provided by financing activities was $116.7 million for the nine months ended September 30, 2023 as compared to net cash used in financing activities of $37.2 million for the nine months ended September 30, 2022. The increase in net cash provided by financing activities was primarily related to certain financing activities in 2023 associated with the FlexSteel acquisition. We received approximately $169.9 million of proceeds, net of issuance costs, from issuing shares of our Class A common stock during 2023. Additionally, we received $155.0 million from total borrowings under our Amended ABL Credit Facility of which all $155.0 million has been repaid. Increased payments of $6.7 million in debt issuance costs, increased distributions to members of $5.9 million, higher dividend payments of approximately $2.3 million and $1.1 million of additional payments on finance leases partially offset the aforementioned cash inflows associated with the equity financing activities during 2023.
24

Item 3.   Quantitative and Qualitative Disclosures About Market Risk.
For quantitative and qualitative disclosures about market risk, see Part II, Item 7A., “Quantitative and Qualitative Disclosures about Market Risk,” in our 2022 Annual Report. Our exposure to market risk has not changed materially since December 31, 2022, other than with regard to interest rate risk as described in “Part I, Item 3. Quantitative and Qualitative Disclosures About Market Risk” of our Quarterly Report on Form 10-Q for the quarter ended June 30, 2023.
Item 4.   Controls and Procedures.
Evaluation of Disclosure Controls and Procedures
In accordance with Exchange Act Rules 13a-15 and 15d-15, we have evaluated, under the supervision and with the participation of our management, including our principal executive officer and principal financial officer, the effectiveness of the design and operation of our disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act) as of the period covered by this report. Our disclosure controls and procedures are designed to provide reasonable assurance that the information required to be disclosed by us in reports that we file or submit under the Exchange Act is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate, to allow timely decisions regarding required disclosure and is recorded, processed, summarized and reported within the time periods specified in the rules and forms of the SEC. Based upon that evaluation, our principal executive officer and principal financial officer concluded that our disclosure controls and procedures were effective as of September 30, 2023 at the reasonable assurance level.
As disclosed in Note 2 to the unaudited condensed consolidated financial statements, we acquired FlexSteel on February 28, 2023 and accounted for this acquisition as a business combination. FlexSteel’s total revenues constituted approximately 30% of our total consolidated revenues for the first nine months of 2023. FlexSteel’s total assets constituted approximately 51% of our total consolidated assets as of September 30, 2023. We excluded FlexSteel’s disclosure controls and procedures that are subsumed by its internal control over financial reporting from the scope of management's assessment of the effectiveness of our disclosure controls and procedures. This exclusion is in accordance with the SEC staff’s general guidance that an assessment of a recently acquired business may be omitted from the scope of management’s assessment of internal controls over financial reporting for one year following the acquisition. We are in the process of implementing financial reporting controls and procedures at FlexSteel as part of our ongoing integration activities.
Changes in Internal Control over Financial Reporting
Except as described above, there were no changes in our internal control over financial reporting that occurred during the third quarter of 2023 that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.
PART II - OTHER INFORMATION
Item 1. Legal Proceedings.
We are party to lawsuits arising in the ordinary course of our business. We cannot predict the outcome of any such lawsuits with certainty, but management believes it is unlikely that pending or threatened legal matters will have a material adverse impact on our financial condition.
Due to the nature of our business, we are, from time to time, involved in other routine litigation or subject to disputes or claims related to our business activities, including workers’ compensation claims and employment related disputes. In the opinion of our management, none of these, whether pending litigation, disputes or claims against us, if decided adversely, will have a material adverse effect on our results of operations, financial condition or cash flows.
Item 1A.   Risk Factors.
In addition to the information set forth in this Quarterly Report, you should carefully consider the risk factors and other cautionary statements described under the heading “Item 1A. Risk Factors” included in our 2022 Annual Report, and under “Part II, Item 1A. Risk Factors” in our Quarterly Report on Form 10-Q for the quarter ended March 31, 2023, and the risk factors and other cautionary statements contained in our other filings with the Securities and Exchange Commission, which could materially affect our business, results of operations, financial condition or cash flows. Additional risks and uncertainties not currently known
25

to us or that we currently deem to be immaterial also may materially adversely affect our business, results of operations, financial condition or cash flows. In addition to what was previously disclosed in our Quarterly Report on Form 10-Q for the quarter ended March 31, 2023, there have been no material changes in our risk factors from those described in our 2022 Annual Report or our other Securities and Exchange Commission filings except as follows:
Recent conflict in the Middle East may adversely affect our business and results of operations.
Recent conflict in the Middle East has resulted in some volatility in oil prices due to concerns regarding the conflict’s impact on global oil supplies. Continued conflict or an expanded or increased level of conflict could further impact oil prices and drilling activity globally or have adverse effects on global macroeconomic conditions generally, which could have a negative impact on our business and results of operations.
Item 2.   Unregistered Sales of Equity Securities and Use of Proceeds.
Not applicable.
Item 5.   Other Information.
During the three months ended September 30, 2023, no director or officer (as defined in Rule 16a-1(f) of the Exchange Act) of Cactus, Inc. adopted or terminated a “Rule 10b5-1 trading arrangement” or “non-Rule 10b5-1 trading arrangement,” as each term is defined in Item 408(a) of Regulation S-K.
Item 6.   Exhibits.
The following exhibits are required by Item 601 of Regulation S-K and are filed as part of this report.
Exhibit No.Description
3.1
3.2
31.1*
31.2*
32.1**
32.2**
101.INS*Inline XBRL Instance Document – the instance document does not appear in the Interactive Data File because XBRL tags are embedded within the Inline XBRL document
101.SCH*Inline XBRL Taxonomy Extension Schema Document
101.CAL*Inline XBRL Taxonomy Calculation Linkbase Document
101.LAB*Inline XBRL Taxonomy Label Linkbase Document
101.PRE*Inline XBRL Taxonomy Presentation Linkbase Document
101.DEF*Inline XBRL Taxonomy Definition Document
104Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)
*    Filed herewith.
**    Furnished herewith.

26

SIGNATURES
Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.
Cactus, Inc.
November 9, 2023By:/s/ Scott Bender
Date
Scott Bender
Chief Executive Officer, Chairman of the Board and Director
(Principal Executive Officer)
November 9, 2023By:/s/ Stephen Tadlock
Date
Stephen Tadlock
Executive Vice President and Chief Executive Officer of the Spoolable Technologies segment, Chief Financial Officer and Treasurer
(Principal Financial Officer)
27
EX-31.1 2 whd-20230930xex311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER
PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Scott Bender, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Cactus, Inc. (the “registrant”); 
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(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have: 
(a)designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;
(b)designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and 
5.The registrant’s other certifying officer(s) 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: November 9, 2023/s/ Scott Bender
Scott Bender
Chief Executive Officer, Chairman of the Board and
Director
(Principal Executive Officer)

EX-31.2 3 whd-20230930xex312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER
PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Stephen Tadlock, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Cactus, Inc. (the “registrant”); 
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(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have: 
(a)designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared; 
(b)designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;
(c)evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and
(d)disclosed in this report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and 
5.The registrant’s other certifying officer(s) 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: November 9, 2023
/s/ Stephen Tadlock
Stephen Tadlock
Executive Vice President and Chief Executive Officer of the Spoolable Technologies segment, Chief Financial Officer and Treasurer
(Principal Financial Officer)

EX-32.1 4 whd-20230930xex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION OF CHIEF EXECUTIVE OFFICER
PURSUANT TO 18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
This certification is provided pursuant to § 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. § 1350, and accompanies the Quarterly Report on Form 10-Q for the period ended September 30, 2023 of Cactus, Inc. (the “Company”) as filed with the Securities and Exchange Commission on the date hereof (the “Report”).
I, Scott Bender, Chief Executive Officer, Chairman of the Board and Director of the Company, certify that:
(1)The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date: November 9, 2023/s/ Scott Bender
Scott Bender
Chief Executive Officer, Chairman of the Board and Director
(Principal Executive Officer)

EX-32.2 5 whd-20230930xex322.htm EX-32.2 Document

Exhibit 32.2
CERTIFICATION OF CHIEF FINANCIAL OFFICER
PURSUANT TO 18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
This certification is provided pursuant to § 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. § 1350, and accompanies the Quarterly Report on Form 10-Q for the period ended September 30, 2023 of Cactus, Inc. (the “Company”) as filed with the Securities and Exchange Commission on the date hereof (the “Report”).
I, Stephen Tadlock, Executive Vice President and Chief Executive Officer of the Spoolable Technologies segment, Chief Financial Officer and Treasurer of the Company, certify that:
(1)The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date: November 9, 2023/s/ Stephen Tadlock
Stephen Tadlock
Executive Vice President and Chief Executive Officer of the Spoolable Technologies segment, Chief Financial Officer and Treasurer
(Principal Financial Officer)

EX-101.SCH 6 whd-20230930.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000008 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Preparation of Interim Financial Statements and Other Items link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - FlexSteel Acquisition link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Accounts Receivable and Allowance for Credit Losses link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Inventories link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Property and Equipment, net link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Goodwill and Other Intangible Assets link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Tax Receivable Agreement ("TRA") link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Equity link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Segment Reporting link:presentationLink link:calculationLink link:definitionLink 0000022 - Disclosure - Earnings per Share link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Preparation of Interim Financial Statements and Other Items (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - FlexSteel Acquisition (Tables) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Inventories (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Property and Equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Goodwill and Other Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Segment Reporting (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Earnings per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Preparation of Interim Financial Statements and Other Items (Details) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - FlexSteel Acquisition - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - FlexSteel Acquisition - Summary of Purchase Price Consideration (Details) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - FlexSteel Acquisition - Summary of Unadited Proforma Results (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Goodwill and Other Intangible Assets - Summary of Total Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Goodwill and Other Intangible Assets - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Goodwill and Other Intangible Assets - Summary of Future Amortization (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Debt - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Revenue - Schedule of Revenues Disaggregated by Category (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Revenue - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Tax Receivable Agreement ("TRA") (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Equity (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Fair Value Measurements - Summary of Liabilities Measured at Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Fair Value Measurements - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Segment Reporting - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954503 - Disclosure - Segment Reporting - Summarized Financial Information by Segment (Details) link:presentationLink link:calculationLink link:definitionLink 9954504 - Disclosure - Earnings per Share (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 whd-20230930_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 whd-20230930_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 whd-20230930_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Consolidated Entities [Axis] Consolidated Entities [Axis] Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Changes in fair value Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings Variable Rate [Domain] Variable Rate [Domain] Less: net income attributable to non-controlling interest Net Income (Loss) Attributable to Noncontrolling Interest Pay vs Performance Disclosure [Line Items] Computers and software Computer And Software [Member] Represents the information pertaining to Computer and Software. Accrued expenses and other current liabilities Accrued Liabilities, Current Range [Domain] Statistical Measurement [Domain] Borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] Underlying Security Market Price Change Underlying Security Market Price Change, Percent Cash and cash equivalents Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents All Award Types Award Type [Domain] Fair Value as of Grant Date Award Grant Date Fair Value Repayment of debt Repayments of Short-Term Debt Debt Debt Disclosure [Text Block] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Cash consideration Payments to Acquire Businesses, Gross Summary of Preliminary Purchase Price Allocation Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] Additional commitments Line of Credit Facility, Accordian Feature Line of Credit Facility, Accordian Feature ABL Credit Facility Revolving Credit Facility [Member] Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations Deferred tax liability, net Deferred Income Tax Liabilities, Net MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items] Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items] Revenue as a percentage Revenue As A Percentage Revenue as a percentage Segment Reporting [Abstract] Accounts payable Accounts Payable, Current Accounts payable Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable Restatement Determination Date: Restatement Determination Date [Axis] Schedule of Rollforward of Allowance for Credit Losses Financing Receivable, Current, Allowance for Credit Loss [Table Text Block] Commitments and contingencies Commitments and Contingencies Expected volatility Measurement Input, Price Volatility [Member] Insider Trading Policies and Procedures [Line Items] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Current portion of liability related to tax receivable agreement Tax Receivable Agreement Liability Current Amount of liability under tax receivable agreement classified as current. Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Equity Equity [Text Block] Net proceeds from the issuance of Class A common stock Proceeds from Issuance of Common Stock Schedule of Goodwill [Table] Schedule of Goodwill [Table] Inventory obsolescence Inventory Write-down Leverage ratio Debt Instrument, Covenant, Leverage Ratio, Maximum Debt Instrument, Covenant, Leverage Ratio, Maximum allowed Ownership [Axis] Ownership [Axis] Gross property and equipment Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Property and equipment Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment Current liabilities Liabilities, Current [Abstract] Tax benefit for release of valuation allowance Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount Preferred stock, par value (in dollars per share) Preferred Stock, Par or Stated Value Per Share Preferred stock, $0.01 par value, 10,000 shares authorized, none issued and outstanding Preferred Stock, Value, Issued Business Acquisition [Line Items] Business Acquisition [Line Items] Cash dividends declared Dividends, Cash Tax receivable expense Tax Receivable Agreement Expense (Benefit) Tax Receivable Agreement Expense (Benefit) Summary of inventories Inventory, Net [Abstract] Dividends paid to Class A common stock shareholders Payments of Ordinary Dividends, Common Stock Operating lease liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities Earnings per Class A share - diluted (in dollars per share) Earnings Per Share, Diluted PEO Total Compensation Amount PEO Total Compensation Amount Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Accounts receivable, net of allowance of $3,187 and $1,060, respectively Accounts Receivable, after Allowance for Credit Loss, Current Foreign currency forwards Foreign Currency Contracts, Liability, Fair Value Disclosure Goodwill [Roll Forward] Goodwill [Roll Forward] Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Level 3 Fair Value, Inputs, Level 3 [Member] Line of Credit Line of Credit [Member] FlexSteel FlexSteel [Member] Noncurrent assets Assets, Noncurrent [Abstract] Buildings and improvements Building and Building Improvements [Member] Redemption ratio per unit (in shares) Common Stock, Redemption Ratio, Per Existing Unit Common Stock, Redemption Ratio, Per Existing Unit Trading Symbol Trading Symbol Letters of credit outstanding Letters of Credit Outstanding, Amount Fixed charge coverage ratio Debt Instrument, Fixed Charge Coverage Ratio The fixed charge coverage ratio to be maintained under the debt instrument agreement based on the ratio of EBITDA minus Unfinanced Capital Expenditures to Fixed Charges. Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Net income attributable to Cactus Inc. Net income Net Income (Loss) Net Income (Loss) Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Five Total current liabilities Liabilities, Current Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member] Fair Value Disclosures [Abstract] Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Company Selected Measure Name Company Selected Measure Name Machinery and equipment Machinery and Equipment [Member] Property and equipment, net Total property and equipment, net Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization Accrued expenses and other current liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other Liabilities and Equity Liabilities and Equity [Abstract] Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Operating lease right-of-use assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right Of Use Assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right Of Use Assets Share repurchases Share repurchases Stock Repurchased During Period, Value Stockholders’ equity Equity, Attributable to Parent [Abstract] Inventories Total inventory Inventory, Gross Schedule of Basic and Diluted Earnings per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Cost of revenue Cost of Goods and Services Sold Vesting period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period Proceeds from sales of assets Proceeds from Sale of Productive Assets Executive Category: Executive Category [Axis] Class B Common Stock Common Class B [Member] Level 1 Fair Value, Inputs, Level 1 [Member] Name Measure Name Name Forgone Recovery, Individual Name Goodwill Balance at December 31, 2022 Balance at September 30, 2023 Goodwill Schedule of Property and Equipment Net Property, Plant and Equipment [Table Text Block] Equity Components [Axis] Equity Components [Axis] Financial Instruments [Domain] Financial Instruments [Domain] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Underlying Securities Award Underlying Securities Amount Entity Small Business Entity Small Business 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Four Local Phone Number Local Phone Number Accounts receivable Increase (Decrease) in Accounts Receivable Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Letters of credit Letter of Credit [Member] Subsidiaries Subsidiaries [Member] Cash dividend declared (in dollars per share) Common Stock, Dividends, Per Share, Declared Measurement Frequency [Axis] Measurement Frequency [Axis] Operating lease liabilities, net of current portion Operating Lease, Liability, Noncurrent Accounts payable Increase (Decrease) in Accounts Payable, Trade Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Underwriting discounts Payments of Stock Issuance Costs Fair Value Measurement Inputs and Valuation Techniques [Table] Fair Value Measurement Inputs and Valuation Techniques [Table] Debt Instrument, Name [Domain] Debt Instrument, Name [Domain] Selling, general and administrative expenses Deferred Compensation Arrangement with Individual, Allocated Share-Based Compensation Expense Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward] Effect of CC Unit redemptions Stock Issued During Period, Value, Conversion of Units March 2021 Secondary Offering March 2021 Secondary Offering [Member] March 2021 Secondary Offering Additional costs related to reporting and accounting of the transaction Business Acquisition, Additional Transaction Costs Business Acquisition, Additional Transaction Costs Summary of Purchase Price Consideration Schedule of Business Acquisitions, by Acquisition [Table Text Block] Spoolable Technologies Spoolable Technologies [Member] Costs associated with stock issuance Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs Shares sold (in shares) Sale of Stock, Number of Shares Issued in Transaction Risk-free interest rate Measurement Input, Risk Free Interest Rate [Member] Fair Value by Liability Class [Domain] Fair Value by Liability Class [Domain] Product and Service [Domain] Product and Service [Domain] Other Performance Measure, Amount Other Performance Measure, Amount Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Inventories Increase (Decrease) in Inventories Accrued expenses and other liabilities Increase (Decrease) in Other Accounts Payable and Accrued Liabilities Cash flows from investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Cactus Inc Cactus Inc [Member] Represents the information pertaining to Cactus Inc. Liability related to tax receivable agreement, net of current portion Tax Receivable Agreement, Liability Non Current Amount of liability under tax receivable agreement classified as non current. Award Type Award Type [Axis] Costs and expenses Cost of Goods and Services Sold [Abstract] Document Quarterly Report Document Quarterly Report Upfront purchase price funds Equity Issued in Business Combination, Fair Value Disclosure Non-cash investing and financing activities: Noncash Investing and Financing Items [Abstract] Share Repurchase Program Share Repurchase Program [Member] Share Repurchase Program Property and equipment in accounts payable Capital Expenditures Incurred but Not yet Paid Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Goodwill [Line Items] Goodwill [Line Items] Gross property and equipment Property, Plant and Equipment, Gross Right-of-use assets obtained in exchange for new lease obligations Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Remainder of 2023 Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year Accounts Receivable, Allowance for Credit Loss [Roll Forward] Accounts Receivable, Allowance for Credit Loss [Roll Forward] Trading Arrangement: Trading Arrangement [Axis] Measurement inputs Business Combination, Contingent Consideration, Liability, Measurement Input Use of Estimates Use of Estimates, Policy [Policy Text Block] PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Long-term Debt, Type [Domain] Long-Term Debt, Type [Domain] Entity File Number Entity File Number Revenue discount rate Measurement Input, Discount Rate [Member] Operating lease liabilities, current portion Operating Lease, Liability, Current Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items] Entity Shell Company Entity Shell Company Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Net Cost Finite-Lived Intangible Assets, Net Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Restatement Determination Date Restatement Determination Date Unbilled revenue Unbilled Receivables, Current Average stock repurchased price (in dollars per share) Shares Acquired, Average Cost Per Share Counterparty Name [Domain] Counterparty Name [Domain] Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Cash and cash equivalents, beginning of period Cash and cash equivalents, end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Accumulated Amortization Finite-Lived Intangible Assets, Accumulated Amortization Organization and Nature of Operations [Table] Organization and Nature of Operations [Table] A table or schedule providing information pertaining to organization and nature of operations. Tax Receivable Agreement ("TRA") Tax Receivable Agreement Disclosure [Text Block] The entire disclosure for the tax receivable agreement. Price of stock (in dollars per share) Sale of Stock, Price Per Share Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Denominator: Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Borrowings total Cash Promissory Note And Assumed Liabilities Payments To Acquire Business Cash, promissory note and assumed liabilities payments to acquire business. Common stock, shares issued (in shares) Common Stock, Shares, Issued Fair value of consideration transferred Business Combination, Consideration Transferred Gain from revaluation of liability related to tax receivable agreement Tax Receivable Agreement, Gain (Loss) on Revaluation of Liability Tax Receivable Agreement, Gain (Loss) on Revaluation of Liability Deferred revenue Contract with Customer, Liability, Current Commitment fee Line of Credit Facility, Commitment Fee Percentage Security Exchange Name Security Exchange Name Debt outstanding Long-Term Debt Cash consideration Sale of Stock, Consideration Received on Transaction Selling, general and administrative expenses Amortization expense Selling, General and Administrative Expense Accumulated other comprehensive loss Accumulated Other Comprehensive Income (Loss), Net of Tax Employee Stock Option Employee Stock Option [Member] Class A Common Stock Common Class A [Member] Period for recognition Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Maximum Maximum [Member] Comprehensive income attributable to Cactus Inc. Comprehensive Income (Loss), Net of Tax, Attributable to Parent Document Type Document Type FlexSteel acquisition Goodwill, Acquired During Period Contract Balances Contract with Customer, Contract Asset, Contract Liability, and Receivable [Abstract] Tabular List, Table Tabular List [Table Text Block] Entity Address, Address Line One Entity Address, Address Line One Net property and equipment Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Before Construction in Progress Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Before Construction in Progress Cash distributions to unit holders Distribution Made to Limited Partner, Cash Distributions Paid Basis of Presentation Basis of Accounting, Policy [Policy Text Block] Business Acquisition [Axis] Business Acquisition [Axis] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table] Allowance for accounts receivable Accounts Receivable, Allowance for Credit Loss, Current Tax expense associated with revaluation of deferred tax asset Income Tax Expense (Benefit), Continuing Operations, Adjustment of Deferred Tax (Asset) Liability Net income attributable to non-controlling interest Net Income (Loss) Attributable to Redeemable Noncontrolling Interest Cactus LLC Cactus LLC [Member] Cactus LLC Variable Rate [Axis] Variable Rate [Axis] Income Statement [Abstract] Income Statement [Abstract] Revenue Revenue from Contract with Customer, Including Assessed Tax Issuance of common stock (in shares) Stock Issued During Period, Shares, New Issues Title of 12(b) Security Title of 12(b) Security Shares outstanding, percentage of total voting power Common Stock, Voting Rights, Percentage Common Stock, Voting Rights, Percentage Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Accounts Receivable Accounts and Financing Receivable, after Allowance for Credit Loss, Current [Abstract] FlexSteel Acquisition Business Combination Disclosure [Text Block] Number of business segments Number Of Business Segments Number Of Business Segments Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Net Income attributable to Cactus, Inc. Business Acquisition, Pro Forma Net Income (Loss) Numerator: Net Income (Loss) Attributable to Parent [Abstract] Equity award vestings Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture Equity Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table] Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Entity Tax Identification Number Entity Tax Identification Number Statistical Measurement [Axis] Statistical Measurement [Axis] Land Land [Member] Financial Instrument [Axis] Financial Instrument [Axis] Entity Interactive Data Current Entity Interactive Data Current Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Other noncurrent assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets Total Shareholder Return Amount Total Shareholder Return Amount Repurchases of shares Payments for Repurchase of Common Stock Product revenue Product [Member] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Inventory Disclosure [Abstract] Inventory Disclosure [Abstract] Segments [Domain] Segments [Domain] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Retained earnings Retained Earnings (Accumulated Deficit) Measure: Measure [Axis] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Name Outstanding Recovery, Individual Name Face amount Debt Instrument, Face Amount Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Current assets Assets, Current [Abstract] Entity Address, State or Province Entity Address, State or Province Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Counterparty Name [Axis] Counterparty Name [Axis] Identifiable Intangible Assets Acquired Identifiable Intangible Assets Acquired [Member] Identifiable Intangible Assets Acquired Rental revenue Rental Revenue [Member] Represents the rental revenue. Cash flows from operating activities Net Cash Provided by (Used in) Operating Activities [Abstract] 2024 Finite-Lived Intangible Asset, Expected Amortization, Year One Common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding PEO PEO [Member] Balance at the beginning of the period (in shares) Balance at the end of the period (in shares) Shares, Outstanding Net income Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Sale of Stock [Axis] Sale of Stock [Axis] Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Class of Stock [Domain] Class of Stock [Domain] Schedule of Inventories Schedule of Inventory, Current [Table Text Block] Debt Instrument [Axis] Debt Instrument [Axis] Goodwill decrease Goodwill, Period Increase (Decrease) Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Measurement Input Type [Domain] Measurement Input Type [Domain] Credit Facility [Axis] Credit Facility [Axis] Total liabilities Liabilities Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Inventories Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory Prepaid expenses and other assets Increase (Decrease) in Prepaid Expense and Other Assets Accumulated Other Comprehensive Income (Loss) AOCI Attributable to Parent [Member] Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Credit discount rate Credit Discount Rate [Member] Credit Discount Rate Measurement Frequency [Domain] Measurement Frequency [Domain] Property and Equipment, net Property, Plant and Equipment Disclosure [Text Block] All Executive Categories All Executive Categories [Member] Remeasurement Expense Remeasurement Expense [Member] Remeasurement Expense Noncurrent liabilities Liabilities, Noncurrent [Abstract] Title of Individual [Axis] Title of Individual [Axis] Net income attributable to Cactus Inc. - diluted Net Income Loss Including Portion Attributable To Redeemable Noncontrolling Interest Amount of net income (loss) for the period including the portion attributable to the redeemable non-controlling interest. Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Debt Disclosure [Abstract] Debt Disclosure [Abstract] Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Number of business segments Number of Reportable Segments Amended ABL Credit Facility Amended ABL Credit Facility [Member] Amended ABL Credit Facility Earnings per share and weighted average shares outstanding Earnings Per Share [Abstract] Common stock, $0.01 par value Common Stock, Value, Issued Translation Adjustments Accounts Receivable, Allowance for Credit Losses, Other Accounts Receivable, Allowance for Credit Losses, Other Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] Tradename Trade Names [Member] Cactus LLC Cactus Wellhead Llc And Its Subsidiaries [Member] Represents information pertaining to Cactus Wellhead, LLC. Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Ownership interest Limited Liability Company or Limited Partnership, Members or Limited Partners, Ownership Interest Total current assets Assets, Current Payments on finance leases Finance Lease, Principal Payments Summary of Liabilities Measured at Fair Value Fair Value, Liabilities Measured on Recurring Basis [Table Text Block] Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] All Individuals All Individuals [Member] Supplemental disclosure of cash flow information Supplemental Cash Flow Information [Abstract] Organization and Nature of Operations Organization and Nature of Operations [Line Items] "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. " Other income, net Other income, net Other Nonoperating Income (Expense) Entity Filer Category Entity Filer Category Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Shares owned per units held (in shares) Common Stock, Owned, Per Existing Unit Common Stock, Owned, Per Existing Unit Cactus Companies Cactus Companies [Member] Cactus Companies Statement [Table] Statement [Table] Current Fiscal Year End Date Current Fiscal Year End Date Authorized amount of stock repurchase Stock Repurchase Program, Authorized Amount Goodwill and Other Intangible Assets Goodwill and Intangible Assets Disclosure [Text Block] Share repurchases (in shares) Stock Repurchased During Period, Shares PEO Name PEO Name Dividend yield Measurement Input, Expected Dividend Rate [Member] Opening Balance Balance at September 30, 2023 Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value Preferred stock, shares authorized (in shares) Preferred Stock, Shares Authorized Base Rate Base Rate [Member] 2028 Finite-Lived Intangible Asset, Expected Amortization, Year Five Schedule of Goodwill Schedule of Goodwill [Table Text Block] Preferred stock, shares outstanding (in shares) Preferred Stock, Shares Outstanding Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Summary of Future Amortization Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Earn-out liability Business Combination, Contingent Consideration, Liability, Current Class of Stock [Axis] Class of Stock [Axis] Statement [Table] Entities [Table] Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Cactus Companies LLC Agreement CC Units Redeemed For Class Common Stock [Member] CC Units Redeemed For Class A Common Stock (CW Units Prior To CC Reorganization) Depreciation and amortization Depreciation, Depletion and Amortization Other comprehensive loss Other Comprehensive Income, Other, Net of Tax Accrued expenses and other current liabilities Deferred Compensation Share-Based Arrangements, Liability, Current Furniture and fixtures Furniture and Fixtures [Member] Reels and skids Reels And Skids [Member] Reels And Skids Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Business Combination and Asset Acquisition [Abstract] Total stockholders’ equity attributable to Cactus Inc. Equity, Attributable to Parent Schedule of Finite-Lived Intangible Assets [Table] Schedule of Finite-Lived Intangible Assets [Table] Revenues Business Acquisition, Pro Forma Revenue Earn-out liability Earn Out Liability [Member] Earn Out Liability Summary of Significant Assumptions to Determine Fair Value Fair Value Measurement Inputs and Valuation Techniques [Table Text Block] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Foreign currency translation adjustments Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax Tax savings benefit retained by Cactus Inc Tax Savings Benefit Retained As Percent Per tax receivable agreement, the amount of the tax savings benefit to be retained by the entity. Expected revenue volatility Measurement Input, Expected Revenue Volatility [Member] Measurement Input, Expected Revenue Volatility Income before income taxes Income before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Credit Agreement Credit Agreement [Member] Credit Agreement dated May 31, 2011 [Member] Deferred tax liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities CW Unit redemptions (in shares) Common Units Redeemed Number of CW units redeemed during period. Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Preferred stock, shares issued (in shares) Preferred Stock, Shares Issued Total liabilities assumed Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities Level 2 Fair Value, Inputs, Level 2 [Member] Entity Emerging Growth Company Entity Emerging Growth Company Intangible assets, net Intangible Assets, Net (Excluding Goodwill) Finished goods Inventory, Finished Goods, Gross Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table] Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table] Net assets acquired Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net Statement of Stockholders'/Members' Equity Increase (Decrease) in Stockholders' Equity [Roll Forward] Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Identifiable intangible assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles Document Fiscal Period Focus Document Fiscal Period Focus Amortization period Finite-Lived Intangible Asset, Useful Life Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Title Trading Arrangement, Individual Title Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Common stock Common Stock [Member] Individual: Individual [Axis] Vehicles Finance Lease, Right-of-Use Asset, before Accumulated Amortization Stock-based compensation APIC, Share-Based Payment Arrangement, Recognition and Exercise City Area Code City Area Code Entity Address, Postal Zip Code Entity Address, Postal Zip Code Earnings per Share Earnings Per Share [Text Block] Product and Service [Axis] Product and Service [Axis] Summary of Changes in Fair Value Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] Document Fiscal Year Focus Document Fiscal Year Focus Finance lease obligations Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Lease Obligation Total stockholders’ equity Balance at the beginning of the period Balance at the end of the period Equity, Including Portion Attributable to Noncontrolling Interest Member distributions Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders Minimum Minimum [Member] Tax impact of equity transactions Adjustments to Additional Paid in Capital, Tax Receivable Agreement Amount of increase in additional paid in capital (APIC) resulting from the tax receivable agreement. Share Repurchase Program [Domain] Share Repurchase Program [Domain] Receivables [Abstract] Receivables [Abstract] Exercise Price Award Exercise Price Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Dividends declared Dividends, Common Stock, Cash Assets Assets [Abstract] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Goodwill and Intangible Assets Disclosure [Abstract] Proceeds from the issuance of long-term debt Proceeds from Issuance of Long-Term Debt Liabilities Liabilities, Fair Value Disclosure Additional Offering Additional Offering [Member] Additional Offering Field service and other revenue Product and Service, Other [Member] Net income Net income Net Income (Loss), Including Portion Attributable to Noncontrolling Interest Net cash paid for income taxes Income Taxes Paid, Net Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Deferred tax asset, net Deferred Income Tax Assets, Net Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Retained Earnings Retained Earnings [Member] Maximum borrowing capacity Line of Credit Facility, Accordion Feature, Maximum Borrowing Capacity Line of Credit Facility, Accordion Feature, Maximum Borrowing Capacity Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Total liabilities and equity Liabilities and Equity Prepaid expenses and other current assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other Other noncurrent assets Other Assets, Noncurrent Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Ownership [Domain] Ownership [Domain] Earnings per Class A share - basic (in dollars per share) Earnings Per Share, Basic Operating lease right-of-use assets, net Operating Lease, Right-of-Use Asset Schedule of Long-term Debt Instruments [Table] Schedule of Long-Term Debt Instruments [Table] Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Sale of Stock [Domain] Sale of Stock [Domain] Gain on disposal of assets Gain (Loss) on Disposition of Assets Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Arrangement Duration Trading Arrangement Duration Entity Address, City or Town Entity Address, City or Town Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Summarized Financial Information by Segment Schedule of Segment Reporting Information, by Segment [Table Text Block] Document Transition Report Document Transition Report Award Timing Predetermined Award Timing Predetermined [Flag] Schedule of Business Acquisitions, by Acquisition [Table] Schedule of Business Acquisitions, by Acquisition [Table] Common stock authorized repurchase amount Stock Repurchase Program, Remaining Authorized Repurchase Amount Developed technology Technology-Based Intangible Assets [Member] Termination Date Trading Arrangement Termination Date Transaction costs Business Acquisition, Transaction Costs Common stock, shares authorized (in shares) Common Stock, Shares Authorized Raw materials Inventory, Raw Materials, Gross Property, Plant and Equipment [Abstract] Property, Plant and Equipment [Abstract] Debt gross Long-Term Debt, Gross Reconciliation of net income to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Liability Class [Axis] Liability Class [Axis] All Trading Arrangements All Trading Arrangements [Member] Measurement Input Type [Axis] Measurement Input Type [Axis] Shares subject to conversion rate adjustments (in shares) Common Stock, Subject To Conversion Rate Adjustments Common Stock, Subject To Conversion Rate Adjustments Less: Accumulated depreciation Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization All Adjustments to Compensation All Adjustments to Compensation [Member] Award Timing Disclosures [Line Items] Relationship to Entity [Domain] Title of Individual [Domain] Compensation Amount Outstanding Recovery Compensation Amount Tax savings payable to TRA Holders Tax Savings Payable To TRA Holders As Percent Per tax receivable agreement, the percentage of savings in federal, state and local income tax or franchise tax that the entity realizes or is deemed to realize in certain circumstances. Tax receivable agreement payment Tax Receivable Agreement, Payment Tax Receivable Agreement, Payment Less: comprehensive income attributable to non-controlling interest Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest Provision for expected credit losses Expense Accounts Receivable, Credit Loss Expense (Reversal) Additional paid-in capital Additional Paid in Capital Indemnification asset Business Combination, Indemnification Assets, Amount as of Acquisition Date Statement of Comprehensive Income [Abstract] Statement of Comprehensive Income [Abstract] Backlog Order or Production Backlog [Member] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Three Work-in-progress Inventory, Work in Process, Gross Insider Trading Arrangements [Line Items] Balance at Beginning of Period Balance at End of Period Accounts Receivable, Allowance for Credit Loss Pressure Control Pressure Control Segment [Member] Summary of Total Intangible Assets Schedule Of Intangible Assets Excluding Goodwill Table [Table Text Block] The tabular disclosure of intangible assets excluding goodwill. Cash and Cash Equivalents, at Carrying Value [Abstract] Cash and Cash Equivalents, at Carrying Value [Abstract] Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Tax Receivable Agreement Tax Receivable Agreement n/a Equity award vestings (in shares) Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture Entity Registrant Name Entity Registrant Name Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] Award Timing Method Award Timing Method [Text Block] Effect of dilutive shares (in shares) Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements 2025 Finite-Lived Intangible Asset, Expected Amortization, Year Two Adjustment to Compensation, Amount Adjustment to Compensation Amount Change in fair value of earn-out liability Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Non-controlling interest Equity, Attributable to Noncontrolling Interest Document Period End Date Document Period End Date Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Adoption Date Trading Arrangement Adoption Date Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Repayments of borrowings of long-term debt Repayments of Long-Term Debt Finance lease obligations, net of current portion Finance Lease, Liability, Noncurrent Summary of Unaudited Proforma Results Business Acquisition, Pro Forma Information [Table Text Block] Entity Central Index Key Entity Central Index Key Deferred financing cost amortization Amortization of Debt Issuance Costs and Discounts Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Preparation of Interim Financial Statements and Other Items Basis of Presentation and Significant Accounting Policies [Text Block] Change in fair value of earn-out liability Derivative, Gain (Loss) on Derivative, Net Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Gross Cost Finite-Lived Intangible Assets, Gross Income tax expense Income Tax Expense (Benefit) Payments pursuant to tax receivable agreement Increase (Decrease) In Tax Receivable Agreement Liabilities Increase (Decrease) In Tax Receivable Agreement Liabilities Write off Accounts Receivable, Allowance for Credit Loss, Writeoff Receivables Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables Fair Value Measurements Fair Value Disclosures [Text Block] Payments of deferred financing costs Payments of Financing Costs Number of operating segments Number of Operating Segments Name Trading Arrangement, Individual Name Schedule of Revenues Disaggregated by Category Disaggregation of Revenue [Table Text Block] Issuances of common stock Stock Issued During Period, Value, New Issues The Credit Facility The Credit Facility [Member] The Credit Facility Equity [Abstract] Equity [Abstract] Inventories Inventory Disclosure [Text Block] Total revenues Revenue from Contract with Customer, Excluding Assessed Tax Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Long-term Debt, Type [Axis] Long-Term Debt, Type [Axis] Amendment Flag Amendment Flag Finite-Lived Intangible Assets, Net [Abstract] Finite-Lived Intangible Assets, Net [Abstract] Deferred income taxes Increase (Decrease) in Deferred Income Taxes Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Acquisition of a business, net of cash and cash equivalents acquired Payments to Acquire Businesses, Net of Cash Acquired Cash paid for interest Interest Paid, Excluding Capitalized Interest, Operating Activities Comprehensive income Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest Common stock purchased and retired (in shares) Stock Repurchased and Retired During Period, Shares Credit Facility [Domain] Credit Facility [Domain] Applicable margin rate Debt Instrument, Basis Spread on Variable Rate Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Term Long-Term Debt, Term Rental equipment Rental Equipment [Member] Rental Equipment Weighted average Class A shares outstanding - diluted (in shares) Weighted average Class A shares outstanding - diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] CC Unit Holders other than Cactus, Inc. CC Unit Holders Other Than Cactus Inc [Member] CW Unit Holders other than Cactus Inc [Member] Total TRA liability Other Commitment Interest income (expense), net Interest income (expense), net Interest Income (Expense), Nonoperating, Net Revenue Revenue from Contract with Customer [Text Block] Weighted average Class A Shares Outstanding - basic (in shares) Weighted Average Number of Shares Issued, Basic Company Selected Measure Amount Company Selected Measure Amount Additional Paid-In Capital Additional Paid-in Capital [Member] Effect of CW Unit redemptions (in shares) Stock Issued During Period, Shares, Conversion of Units Vehicles Vehicles [Member] Total assets Assets Name Awards Close in Time to MNPI Disclosures, Individual Name Share Repurchase Program [Axis] Share Repurchase Program [Axis] Cover [Abstract] Secured Overnight Financing Rate Secured Overnight Financing Rate [Member] Secured Overnight Financing Rate Capital expenditures and other Payments For Capital expenditures The cash outflow from payments of capital expenditure. Put option liability Put Option Liability [Member] Put Option Liability Accounts Receivable and Allowance for Credit Losses Loans, Notes, Trade and Other Receivables Disclosure [Text Block] Fair Value, Recurring Fair Value, Recurring [Member] Fair Value Measurement Inputs and Valuation Techniques [Line Items] Fair Value Measurement Inputs and Valuation Techniques [Line Items] Dividends paid Payments of Dividends Non-NEOs Non-NEOs [Member] Construction in progress Construction in Progress [Member] Total assets acquired Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill Key Employee Key Employee [Member] Key Employee Equity Subsidiary, Sale of Stock [Line Items] Total costs and expenses Operating Expenses Segment Reporting Segment Reporting Disclosure [Text Block] Net increase (decrease) in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Cash flows from financing activities Net Cash Provided by (Used in) Financing Activities [Abstract] Secured Debt Secured Debt [Member] Non-PEO NEO Non-PEO NEO [Member] Equity Component [Domain] Equity Component [Domain] Finance lease obligations, current portion Finance Lease, Liability, Current Adjustment to Compensation: Adjustment to Compensation [Axis] Distributions to members Pro rata distributions made to other members Distribution Made to Limited Liability Company (LLC) Member, Cash Distributions Paid Add: Contingent consideration Business Combination, Consideration Transferred, Equity Interests Issued and Issuable Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Long-term Debt Debt Instrument [Line Items] Weighted average Class A shares outstanding - basic (in shares) Weighted Average Number of Shares Outstanding, Basic Entity Current Reporting Status Entity Current Reporting Status Operating income Total operating income Operating Income (Loss) Revenues Revenues [Abstract] Consolidated Entities [Domain] Consolidated Entities [Domain] Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] Segments [Axis] Segments [Axis] Statement [Line Items] Statement [Line Items] Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Customer relationships Customer Relationships [Member] Corporate effective income tax rate, if-converted method Effective Income Tax Rate Used For Noncontrolling Interest Income The effective income tax rate used in the calculation of income attributable to noncontrolling interest included in if-converted method of EPS calculation. Non-controlling Interest Noncontrolling Interest [Member] EX-101.PRE 10 whd-20230930_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 11 R1.htm IDEA: XBRL DOCUMENT v3.23.3
Cover - shares
9 Months Ended
Sep. 30, 2023
Nov. 06, 2023
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2023  
Document Transition Report false  
Entity File Number 001-38390  
Entity Registrant Name Cactus, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 35-2586106  
Entity Address, Address Line One 920 Memorial City Way, Suite 300  
Entity Address, City or Town Houston,  
Entity Address, State or Province TX  
Entity Address, Postal Zip Code 77024  
City Area Code 713  
Local Phone Number 626-8800  
Title of 12(b) Security Class A Common Stock, par value $0.01  
Trading Symbol WHD  
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 Central Index Key 0001699136  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q3  
Amendment Flag false  
Class A Common Stock    
Entity Common Stock, Shares Outstanding   65,323,129
Class B Common Stock    
Entity Common Stock, Shares Outstanding   14,106,469
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Current assets    
Cash and cash equivalents $ 63,738 $ 344,527
Accounts receivable, net of allowance of $3,187 and $1,060, respectively 206,251 138,268
Inventories 203,517 161,283
Prepaid expenses and other current assets 19,442 10,564
Total current assets 492,948 654,642
Noncurrent assets    
Property and equipment, net 345,222 129,998
Operating lease right-of-use assets, net 19,969 23,183
Intangible assets, net 183,974 0
Goodwill 200,723 7,824
Deferred tax asset, net 211,535 301,644
Other noncurrent assets 9,779 1,605
Total assets 1,464,150 1,118,896
Current liabilities    
Accounts payable 65,217 47,776
Accrued expenses and other current liabilities 60,713 30,619
Earn-out liability 18,892 0
Current portion of liability related to tax receivable agreement 20,855 27,544
Finance lease obligations, current portion 7,543 5,933
Operating lease liabilities, current portion 4,147 4,777
Total current liabilities 177,367 116,649
Noncurrent liabilities    
Deferred tax liability, net 1,469 1,966
Liability related to tax receivable agreement, net of current portion 250,256 265,025
Finance lease obligations, net of current portion 9,239 6,436
Operating lease liabilities, net of current portion 15,748 18,375
Total liabilities 454,079 408,451
Commitments and contingencies
Stockholders’ equity    
Preferred stock, $0.01 par value, 10,000 shares authorized, none issued and outstanding 0 0
Additional paid-in capital 462,302 310,528
Retained earnings 359,699 261,764
Accumulated other comprehensive loss (1,647) (984)
Total stockholders’ equity attributable to Cactus Inc. 821,008 571,917
Non-controlling interest 189,063 138,528
Total stockholders’ equity 1,010,071 710,445
Total liabilities and equity 1,464,150 1,118,896
Class A Common Stock    
Stockholders’ equity    
Common stock, $0.01 par value 654 609
Class B Common Stock    
Stockholders’ equity    
Common stock, $0.01 par value $ 0 $ 0
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
shares in Thousands, $ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Allowance for accounts receivable $ 3,187 $ 1,060
Preferred stock, par value (in dollars per share) $ 0.01 $ 0.01
Preferred stock, shares authorized (in shares) 10,000 10,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Class A Common Stock    
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 300,000 300,000
Common stock, shares issued (in shares) 65,323 60,903
Common stock, shares outstanding (in shares) 65,323 60,903
Class B Common Stock    
Common stock, par value (in dollars per share) $ 0.01 $ 0.01
Common stock, shares authorized (in shares) 215,000 215,000
Common stock, shares issued (in shares) 14,106 14,978
Common stock, shares outstanding (in shares) 14,106 14,978
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Revenues        
Total revenues $ 287,870 $ 184,481 $ 822,094 $ 500,595
Costs and expenses        
Selling, general and administrative expenses 29,549 15,970 97,519 44,804
Change in fair value of earn-out liability (5,091) 0 13,053 0
Total costs and expenses 200,267 133,185 636,281 374,068
Operating income 87,603 51,296 185,813 126,527
Interest income (expense), net (1,372) 1,140 (6,298) 1,344
Other income, net 266 1,125 3,804 10
Income before income taxes 86,497 53,561 183,319 127,881
Income tax expense 18,478 12,041 30,553 23,498
Net income 68,019 41,520 152,766 104,383
Less: net income attributable to non-controlling interest 15,439 10,095 32,542 25,198
Net income attributable to Cactus Inc. $ 52,580 $ 31,425 $ 120,224 $ 79,185
Class A Common Stock        
Earnings per share and weighted average shares outstanding        
Earnings per Class A share - basic (in dollars per share) $ 0.81 $ 0.52 $ 1.87 $ 1.32
Earnings per Class A share - diluted (in dollars per share) $ 0.80 $ 0.51 $ 1.82 $ 1.30
Weighted average Class A shares outstanding - basic (in shares) 64,879 60,665 64,399 60,164
Weighted average Class A shares outstanding - diluted (in shares) 65,486 61,106 79,632 76,296
Product revenue        
Revenues        
Total revenues $ 214,295 $ 121,782 $ 605,698 $ 328,054
Costs and expenses        
Cost of revenue 123,278 73,747 373,310 203,839
Rental revenue        
Revenues        
Total revenues 28,879 27,105 84,916 73,143
Costs and expenses        
Cost of revenue 15,558 16,323 48,538 46,740
Field service and other revenue        
Revenues        
Total revenues 44,696 35,594 131,480 99,398
Costs and expenses        
Cost of revenue $ 36,973 $ 27,145 $ 103,861 $ 78,685
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Statement of Comprehensive Income [Abstract]        
Net income $ 68,019 $ 41,520 $ 152,766 $ 104,383
Foreign currency translation adjustments (670) (1,219) (812) (2,150)
Comprehensive income 67,349 40,301 151,954 102,233
Less: comprehensive income attributable to non-controlling interest 15,319 9,795 32,393 24,673
Comprehensive income attributable to Cactus Inc. $ 52,030 $ 30,506 $ 119,561 $ 77,560
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
shares in Thousands, $ in Thousands
Total
Additional Paid-In Capital
Retained Earnings
Accumulated Other Comprehensive Income (Loss)
Non-controlling Interest
Class A Common Stock
Common stock
Class B Common Stock
Common stock
Balance at the beginning of the period (in shares) at Dec. 31, 2021           59,035 16,674
Balance at the beginning of the period at Dec. 31, 2021 $ 595,033 $ 289,600 $ 178,446 $ 8 $ 126,389 $ 590 $ 0
Statement of Stockholders'/Members' Equity              
Member distributions (8,007)       (8,007)    
Effect of CW Unit redemptions (in shares)           1,515 (1,515)
Effect of CC Unit redemptions 0 12,039     (12,054) $ 15  
Tax impact of equity transactions 2,931 2,931          
Equity award vestings (in shares)           169  
Equity award vestings (4,494) (3,258)     (1,238) $ 2  
Other comprehensive loss (2,150)     (1,625) (525)    
Stock-based compensation 8,034 6,386     1,648    
Cash dividends declared (20,080)   (20,080)        
Net income 104,383   79,185   25,198    
Balance at the end of the period (in shares) at Sep. 30, 2022           60,719 15,159
Balance at the end of the period at Sep. 30, 2022 675,650 307,698 237,551 (1,617) 131,411 $ 607 $ 0
Balance at the beginning of the period (in shares) at Jun. 30, 2022           60,613 15,263
Balance at the beginning of the period at Jun. 30, 2022 643,808 304,418 212,913 (698) 126,569 $ 606 $ 0
Statement of Stockholders'/Members' Equity              
Member distributions (4,659)       (4,659)    
Effect of CW Unit redemptions (in shares)           104 (104)
Effect of CC Unit redemptions 0 894     (895) $ 1  
Tax impact of equity transactions (33) (33)          
Equity award vestings (in shares)           2  
Equity award vestings 2 5     (3)    
Other comprehensive loss (1,219)     (919) (300)    
Stock-based compensation 3,018 2,414     604    
Cash dividends declared (6,787)   (6,787)        
Net income 41,520   31,425   10,095    
Balance at the end of the period (in shares) at Sep. 30, 2022           60,719 15,159
Balance at the end of the period at Sep. 30, 2022 675,650 307,698 237,551 (1,617) 131,411 $ 607 $ 0
Balance at the beginning of the period (in shares) at Dec. 31, 2022           60,903 14,978
Balance at the beginning of the period at Dec. 31, 2022 710,445 310,528 261,764 (984) 138,528 $ 609 $ 0
Statement of Stockholders'/Members' Equity              
Issuance of common stock (in shares)           3,352  
Issuances of common stock 169,369 143,302     26,033 $ 34  
Member distributions (13,926)       (13,926)    
Effect of CW Unit redemptions (in shares)           872 (872)
Effect of CC Unit redemptions 0 11,773     (11,782) $ 9  
Tax impact of equity transactions 5,747 (10,979)     16,726    
Equity award vestings (in shares)           200  
Equity award vestings (4,440) (3,071)     (1,371) $ 2  
Other comprehensive loss (812)     (663) (149)    
Share repurchases (in shares)           (4)  
Share repurchases (159) (137)     (22)    
Stock-based compensation 13,370 10,886     2,484    
Cash dividends declared (22,289)   (22,289)        
Net income 152,766   120,224   32,542    
Balance at the end of the period (in shares) at Sep. 30, 2023           65,323 14,106
Balance at the end of the period at Sep. 30, 2023 1,010,071 462,302 359,699 (1,647) 189,063 $ 654 $ 0
Balance at the beginning of the period (in shares) at Jun. 30, 2023           64,609 14,820
Balance at the beginning of the period at Jun. 30, 2023 952,774 446,206 315,049 (1,096) 191,968 $ 647 $ 0
Statement of Stockholders'/Members' Equity              
Member distributions (9,214)       (9,214)    
Effect of CW Unit redemptions (in shares)           714 (714)
Effect of CC Unit redemptions 0 9,753     (9,760) $ 7  
Tax impact of equity transactions 2,474 2,574     (100)    
Other comprehensive loss (670)     (551) (119)    
Stock-based compensation 4,618 3,769     849    
Cash dividends declared (7,930)   (7,930)        
Net income 68,019   52,580   15,439    
Balance at the end of the period (in shares) at Sep. 30, 2023           65,323 14,106
Balance at the end of the period at Sep. 30, 2023 $ 1,010,071 $ 462,302 $ 359,699 $ (1,647) $ 189,063 $ 654 $ 0
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) - $ / shares
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Statement of Stockholders' Equity [Abstract]        
Cash dividend declared (in dollars per share) $ 0.12 $ 0.11 $ 0.34 $ 0.33
XML 18 R8.htm IDEA: XBRL DOCUMENT v3.23.3
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Cash flows from operating activities    
Net income $ 152,766 $ 104,383
Reconciliation of net income to net cash provided by operating activities:    
Depreciation and amortization 50,180 25,991
Deferred financing cost amortization 4,187 133
Stock-based compensation 13,526 8,034
Provision for expected credit losses 2,153 224
Inventory obsolescence 3,569 1,642
Gain on disposal of assets (1,999) (470)
Deferred income taxes 10,723 19,230
Change in fair value of earn-out liability 12,932 0
Gain from revaluation of liability related to tax receivable agreement (3,683) (10)
Changes in operating assets and liabilities:    
Accounts receivable (12,637) (42,906)
Inventories 45,377 (45,545)
Prepaid expenses and other assets (7,321) (4,265)
Accounts payable 2,733 20,537
Accrued expenses and other liabilities 2,986 3,293
Payments pursuant to tax receivable agreement (26,890) (11,666)
Net cash provided by operating activities 248,602 78,605
Cash flows from investing activities    
Acquisition of a business, net of cash and cash equivalents acquired (616,189) 0
Capital expenditures and other (33,400) (21,197)
Proceeds from sales of assets 4,347 1,701
Net cash used in investing activities (645,242) (19,496)
Cash flows from financing activities    
Proceeds from the issuance of long-term debt 155,000 0
Repayments of borrowings of long-term debt (155,000) 0
Net proceeds from the issuance of Class A common stock 169,878 0
Payments of deferred financing costs (6,857) (165)
Payments on finance leases (5,579) (4,505)
Dividends paid to Class A common stock shareholders (22,266) (20,015)
Distributions to members (13,926) (8,007)
Repurchases of shares (4,599) (4,495)
Net cash provided by (used in) financing activities 116,651 (37,187)
Effect of exchange rate changes on cash and cash equivalents (800) (2,968)
Net increase (decrease) in cash and cash equivalents (280,789) 18,954
Cash and Cash Equivalents, at Carrying Value [Abstract]    
Cash and cash equivalents, beginning of period 344,527 301,669
Cash and cash equivalents, end of period 63,738 320,623
Supplemental disclosure of cash flow information    
Net cash paid for income taxes 19,464 3,762
Cash paid for interest 5,150 801
Non-cash investing and financing activities:    
Right-of-use assets obtained in exchange for new lease obligations 10,210 10,707
Property and equipment in accounts payable $ 1,758 $ 1,582
XML 19 R9.htm IDEA: XBRL DOCUMENT v3.23.3
Preparation of Interim Financial Statements and Other Items
9 Months Ended
Sep. 30, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Preparation of Interim Financial Statements and Other Items Preparation of Interim Financial Statements and Other Items
Basis of Presentation
The financial statements presented in this report represent the consolidation of Cactus, Inc. (“Cactus Inc.”) and its subsidiaries (the “Company”), including Cactus Companies, LLC (“Cactus Companies”). Cactus Inc. is a holding company whose only material asset is an equity interest consisting of units representing limited liability company interests in Cactus Companies (“CC Units”). Cactus Inc. is the sole managing member of Cactus Companies and operates and controls all of the business and affairs of Cactus Companies and conducts its business through Cactus Companies and its subsidiaries. As a result, Cactus Inc. consolidates the financial results of Cactus Companies and its subsidiaries and reports a non-controlling interest related to the portion of CC Units not owned by Cactus Inc., which reduces net income attributable to holders of Cactus Inc.’s Class A common stock, par value $0.01 per share (“Class A common stock”). Except as otherwise indicated or required by the context, all references to “Cactus,” “we,” “us” and “our” refer to Cactus Inc. and its consolidated subsidiaries.
On February 28, 2023, Cactus Inc. through one of its subsidiaries, completed the merger of the FlexSteel business (the “Merger”) through a merger with HighRidge Resources, Inc. and its subsidiaries (“HighRidge”). On February 27, 2023, in order to facilitate the Merger with HighRidge, an internal reorganization was completed in which Cactus Companies acquired all of the outstanding units representing ownership interests in Cactus Wellhead, LLC (“Cactus LLC”), the operating subsidiary of Cactus Inc. (the “CC Reorganization”). The purpose of the Merger was to effect the acquisition of the operations of FlexSteel Holdings, Inc. and its subsidiaries. FlexSteel Holdings, Inc. was a wholly-owned subsidiary of HighRidge prior to the Merger and was converted into a limited liability company, contributed from HighRidge to Cactus Companies as part of the CC Reorganization and is now named FlexSteel Holdings, LLC (“FlexSteel”). The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition through September 30, 2023. See Note 2 for additional information related to the acquisition.
Following the acquisition of FlexSteel, we now operate in two business segments: Pressure Control and Spoolable Technologies.
The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) for interim financial information. Accordingly, these consolidated financial statements do not include all information or notes required by generally accepted accounting principles for annual financial statements and should be read together with our Annual Report on Form 10-K for the year ended December 31, 2022.
The consolidated financial statements include all adjustments, which are of a normal recurring nature, unless otherwise disclosed, necessary for a fair statement of the consolidated financial statements for the interim periods. The results of operations for any interim period are not necessarily indicative of the results to be expected for the full year.
Use of Estimates
In preparing our consolidated financial statements in conformity with GAAP, we make numerous estimates and assumptions that affect the accounting for and recognition and disclosure of assets, liabilities, equity, revenues and expenses. We must make these estimates and assumptions because certain information that we use is dependent on future events, cannot be calculated with a high degree of precision from available data or is not otherwise capable of being readily calculated based on accepted methodologies. In some cases, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ materially from the estimates and assumptions that we use in the preparation of our consolidated financial statements.
XML 20 R10.htm IDEA: XBRL DOCUMENT v3.23.3
FlexSteel Acquisition
9 Months Ended
Sep. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
FlexSteel Acquisition FlexSteel AcquisitionOn February 28, 2023 (the “acquisition date”), we completed the acquisition of FlexSteel in accordance with the terms and conditions of the merger agreement dated December 30, 2022. Including final adjustments for closing working capital, cash on hand and indebtedness adjustments as set forth in the merger agreement, we paid total cash consideration of $621.5 million. There is also a potential future earn-out payment of up to $75.0 million to be paid no later than the third quarter of 2024, if certain revenue growth targets are met by FlexSteel. We funded the upfront purchase price using a combination of $165.6 million of net
proceeds received from the public offering of shares of our Class A common stock completed in January 2023, borrowings under the Amended ABL Credit Facility (as defined in Note 7) totaling $155.0 million and available cash on hand at the time of closing.
We believe this acquisition enhances Cactus’ position as a premier manufacturer and provider of highly engineered equipment to the oil and gas exploration and production (“E&P”) industry and provides meaningful growth potential for Cactus. We also believe FlexSteel’s products are highly complementary to Cactus’ equipment as it expands our exposure to our customers’ operations from production trees to transportation of oil, gas and other liquids as well as to additional customers operating in the midstream area. The acquisition is being accounted for using the acquisition method of accounting, with Cactus being treated as the accounting acquirer. Under the acquisition method of accounting, the assets and liabilities are recorded at their respective fair values as of the acquisition date. The transaction was treated as a purchase of stock for United States federal income tax purposes. In connection with the acquisition, we incurred approximately $7.5 million of transaction costs for the nine months ended September 30, 2023 required to effect the transaction and incurred an additional $4.4 million in costs related to the reporting of and accounting for the transaction. These fees primarily related to legal, accounting and consulting fees and are included in selling, general and administrative (“SG&A”) expenses in the consolidated statements of income.
Purchase Price Consideration
The final purchase price consideration for the acquisition is $627.5 million and is summarized as follows:
Purchase Price Consideration
Cash consideration$621,505 
Add: Contingent consideration (1)
5,960 
Fair value of consideration transferred$627,465 
(1) Represents the estimated fair value as of the acquisition date of the earn-out payment of up to $75 million of additional cash consideration if certain revenue growth targets are met by FlexSteel. The estimated fair value of the earn-out payment was determined using a Monte Carlo simulation valuation methodology based on probability-weighted performance projections and other inputs, including a discount rate.
Changes in the fair value of the earn-out liability subsequent to the acquisition date are recognized in the consolidated statements of income. As of September 30, 2023, the estimated fair value of the earn-out payment increased to $18.9 million. The increase is based on the revised forecast for the period January 1, 2023 through June 30, 2024, reflecting improvements in FlexSteel’s revenues as compared to projections made at the time of the acquisition. See further discussion of the calculation of fair value of the earn-out liability in Note 12.
Preliminary Purchase Price Allocation
The following table provides the preliminary allocation of the purchase price as of the acquisition date. The goodwill reflected below decreased $0.6 million from the original preliminary purchase price allocation as a result of measurement period adjustments, primarily related to changes in cash consideration upon finalization of the closing net working capital and the
resulting updates to deferred tax liabilities, partially offset by valuation adjustments to inventories and property and equipment.
Cash and cash equivalents$5,316 
Receivables57,747 
Inventories91,746 
Prepaid expenses and other current assets1,283 
Property and equipment208,955 
Operating lease right-of-use assets1,021 
Identifiable intangible assets200,300 
Other noncurrent assets5,666 
Total assets acquired572,034 
Accounts payable(14,789)
Accrued expenses and other current liabilities(26,827)
Finance lease obligations(974)
Operating lease liabilities(906)
Deferred tax liabilities(93,972)
Total liabilities assumed(137,468)
Net assets acquired434,566 
Goodwill$192,899 
Assets acquired and liabilities assumed in connection with the acquisition were recorded at their estimated fair values. Estimated fair values were determined by management, based in part on an independent valuation performed by third-party valuation specialists. The valuation methods used to determine the estimated fair value of intangible assets included the excess earnings approach for customer relationships and backlog using customer inputs and contributory charges and the relief from royalty method for tradename and developed technology. Several significant assumptions and estimates were involved in the application of these valuation methods, including forecasted sales volumes and prices, royalty rates, costs to produce, tax rates, capital spending, discount rates, attrition rates and working capital changes. Cash flow forecasts were generally based on FlexSteel’s pre-acquisition forecasts. Identifiable intangible assets with finite lives are subject to amortization over their estimated useful lives.
The fair values determined for accounts receivable, accounts payable and most other current assets and liabilities, other than inventory, were equivalent to the carrying value due to their short-term nature. Acquired inventories are comprised of raw materials, work-in-progress and finished goods. The preliminary fair value of finished goods was calculated as the estimated selling price, less costs of the selling effort and a reasonable profit allowance relating to the selling effort. The preliminary fair value of work-in-progress was calculated as the estimated selling price, less costs to complete, less costs of the selling effort and a reasonable profit allowance on completion and selling costs. The preliminary fair value of raw materials was determined based on replacement cost which approximates historical carrying value. The preliminary fair value of identifiable fixed assets was calculated using a combination of valuation approaches, but primarily consisted of the cost approach which adjusts estimates of replacement cost for the age, condition and utility of the associated assets.
Goodwill is calculated as the excess of the purchase price over the estimated fair value of net assets acquired and represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. Among the factors that contributed to a purchase price in excess of the estimated fair value of the net tangible and intangible assets acquired were the acquisition of an assembled workforce, expansion opportunities and other benefits that we believe will result from combining the operations of FlexSteel with ours. Goodwill was further increased by the deferred tax liability associated with the fair market value in excess of the tax basis acquired. The goodwill associated with this transaction has been allocated to our Spoolable Technologies segment.
The purchase price allocation is preliminary and could be revised as a result of additional information obtained regarding assets acquired and liabilities assumed and revisions of preliminary estimates of fair values including, but not limited to, certain tangible assets acquired and liabilities assumed, contractual relationships, intangible assets, certain working capital items, deferred income taxes and residual goodwill. The purchase price allocation will be finalized within the measurement period of up to one year from the acquisition date.
Tax-related impacts
As a result of the transaction, we acquired certain carryforward tax attributes. The Company’s current assessment is that some of these attributes should be accounted for as unrecognized tax benefits in the acquisition accounting. The unrecognized tax benefits have been offset by an indemnification asset from the seller of $5.7 million. The Company continues to evaluate the technical merits of the tax attributes, and the unrecognized tax benefit assessment is subject to change within the measurement period. Subsequent to completion of the acquisition, we determined that we expect to generate sufficient taxable income of the appropriate type to allow for the realization of the deferred tax asset associated with our investment in Cactus Companies and recognized a $12.1 million tax benefit in the first quarter of 2023 associated with the release of our valuation allowance previously provided. Additionally, we recognized $4.3 million of tax expense in the first quarter of 2023 associated with the revaluation of our deferred tax asset as a result of a change in our forecasted state rate primarily due to state impacts of the FlexSteel acquisition.
Pro forma financial information
From acquisition date through September 30, 2023, FlexSteel produced revenue of $245.8 million and net income of $34.1 million. The pro forma financial information below represents the combined results of operations for the nine months ended September 30, 2023 and for the three and nine months ended September 30, 2022, as if the acquisition had occurred as of January 1, 2022. The unaudited pro forma combined financial information includes, where applicable, adjustments for additional amortization expense related to the fair value step-up of intangible assets, additional inventory fair value step-up expense, additional depreciation expense associated with adjusting property and equipment to fair value, changes to align accounting policies, decreases in interest expense due to modification of borrowings in conjunction with the acquisition and associated tax-related impacts of adjustments. These pro forma adjustments are based on available information as of the date hereof and upon assumptions that we believe are reasonable to reflect the impact of the FlexSteel acquisition on our historical financial information on a supplemental pro forma basis. Adjustments do not include the elimination of transaction-related costs incurred or any costs related to integration activities, cost savings or synergies that have been or may be achieved by the combined business. The unaudited pro forma financial information is presented for informational purposes only and is neither indicative of the results of operations that would have occurred if the acquisition had taken place at the beginning of the period presented nor indicative of future operating results.
Three Months Ended
September 30,
Nine Months Ended
September 30,
202220232022
Revenues$274,855 $875,473 $765,847 
Net Income attributable to Cactus, Inc.33,885 132,026 83,224 
XML 21 R11.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts Receivable and Allowance for Credit Losses
9 Months Ended
Sep. 30, 2023
Receivables [Abstract]  
Accounts Receivable and Allowance for Credit Losses Accounts Receivable and Allowance for Credit Losses
We extend credit to customers in the normal course of business. Our customers are predominantly oil and gas E&P companies located in the U.S. Our receivables are short-term in nature and typically due in 30 to 60 days. We do not accrue interest on delinquent receivables. Accounts receivable includes amounts billed and currently due from customers and unbilled amounts for products delivered and services performed for which billings have not yet been submitted to the customers. Total unbilled revenue included in accounts receivable as of September 30, 2023 and December 31, 2022 was $36.6 million and $34.9 million, respectively.
We maintain an allowance for credit losses to provide for the amount of billed receivables we believe to be at risk of loss. In our determination of the allowance for credit losses, we pool receivables with similar risk characteristics based on customer size, credit ratings, payment history, bankruptcy status and other factors known to us and apply an expected credit loss percentage. The expected credit loss percentage is determined using historical loss data adjusted for current conditions and forecasts of future economic conditions. Accounts deemed uncollectible are applied against the allowance for credit losses. The following is a rollforward of our allowance for credit losses.
Balance at
Beginning of
Period
ExpenseWrite offTranslation AdjustmentsBalance at
End of
Period
Nine Months Ended September 30, 2023$1,060 $2,153 $(16)$(10)$3,187 
Nine Months Ended September 30, 2022741 224 (63)(1)901 
XML 22 R12.htm IDEA: XBRL DOCUMENT v3.23.3
Inventories
9 Months Ended
Sep. 30, 2023
Inventory Disclosure [Abstract]  
Inventories Inventories
Inventories are stated at the lower of cost or net realizable value. Cost is determined using standard cost (which approximates average cost). Costs include an application of related material, direct labor, duties, tariffs, freight and overhead costs. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal and transportation. Reserves are made for excess and obsolete items based on a range of factors, including age, usage and technological or market changes that may impact demand for those products. Inventories consist of the following:
September 30,
2023
December 31,
2022
Raw materials$23,144 $3,150 
Work-in-progress11,500 5,444 
Finished goods168,873 152,689 
$203,517 $161,283 
XML 23 R13.htm IDEA: XBRL DOCUMENT v3.23.3
Property and Equipment, net
9 Months Ended
Sep. 30, 2023
Property, Plant and Equipment [Abstract]  
Property and Equipment, net Property and Equipment, net
Property and equipment are stated at cost. We manufacture or construct most of our Pressure Control rental equipment assets. During the manufacture of these assets, they are reflected as construction in progress until complete. Property and equipment consists of the following:
September 30,
2023
December 31,
2022
Land
$16,442 $5,302 
Buildings and improvements
131,960 25,480 
Machinery and equipment
127,701 57,883 
Reels and skids18,028 — 
Vehicles35,319 29,045 
Rental equipment215,581 194,088 
Furniture and fixtures
1,905 1,759 
Computers and software
3,889 3,068 
Gross property and equipment
550,825 316,625 
Less: Accumulated depreciation
(222,998)(200,573)
Net property and equipment
327,827 116,052 
Construction in progress
17,395 13,946 
Total property and equipment, net
$345,222 $129,998 
XML 24 R14.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Other Intangible Assets
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Goodwill and Other Intangible Assets Goodwill and Other Intangible Assets
Goodwill represents the excess of purchase price paid over the fair value of the net assets of acquired businesses. Goodwill is not amortized, but we evaluate at least annually whether it is impaired. Goodwill is considered impaired if the carrying amount of the reporting unit exceeds its estimated fair value. We conduct our annual assessment of the recoverability of goodwill as of December 31 of each year and more frequently if events and circumstances indicate that goodwill might be impaired. The change in carrying value of goodwill allocated to our reportable segments during the nine months ended September 30, 2023 was as follows:
Pressure ControlSpoolable TechnologiesTotal
Balance at December 31, 2022$7,824 $— $7,824 
FlexSteel acquisition— 192,899 192,899 
Balance at September 30, 2023$7,824 $192,899 $200,723 
The following table presents the detail of acquired intangible assets other than goodwill as of September 30, 2023:
Gross CostAccumulated AmortizationNet Cost
Customer relationships$100,300 $(3,901)$96,399 
Developed technology77,000 (4,492)72,508 
Tradename16,000 (933)15,067 
Backlog7,000 (7,000)— 
Total$200,300 $(16,326)$183,974 
All intangible assets are amortized over their estimated useful lives. The weighted average amortization period for identifiable intangible assets acquired is 12 years. Amortization expense recognized during the three and nine months ended September 30, 2023 was $4.0 million and $16.3 million, respectively, and was recorded in SG&A expenses in the consolidated statements of income. Estimated future amortization expense is as follows:
Remainder of 2023$3,997 
202415,987 
202515,987 
202615,987 
202715,987 
202815,987 
Thereafter100,042 
Total$183,974 
XML 25 R15.htm IDEA: XBRL DOCUMENT v3.23.3
Debt
9 Months Ended
Sep. 30, 2023
Debt Disclosure [Abstract]  
Debt Debt
We had no debt outstanding as of September 30, 2023 and December 31, 2022. We had $1.5 million in letters of credit outstanding as of September 30, 2023.
In August 2018, Cactus LLC entered into a five-year senior secured asset-based revolving credit facility with a syndicate of lenders and JPMorgan Chase Bank, N.A., as administrative agent for such lenders and as an issuing bank and swingline lender (the “ABL Credit Facility”). The ABL Credit Facility was first amended in September 2020 and provided for up to $75.0 million in revolving commitments. On July 25, 2022, the ABL Credit Facility was amended again for up to $80.0 million in revolving commitments, up to $15.0 million of which was available for the issuance of letters of credit.
On February 28, 2023, in connection with the Merger, Cactus Companies assumed the rights and obligations of Cactus LLC as Borrower under the ABL Credit Facility, and the ABL Credit Facility was amended and restated in its entirety (the “Amended ABL Credit Facility”). The Amended ABL Credit Facility provides for a term loan of $125.0 million and up to $225.0 million in revolving commitments, of which $20.0 million is available for the issuance of letters of credit. Subject to certain terms and conditions set forth in the Amended ABL Credit Facility, Cactus Companies may request additional revolving commitments in an amount not to exceed $50.0 million, for a total of up to $275.0 million in revolving commitments. The term loan under the Amended ABL Credit Facility was set to mature on February 27, 2026 and any revolving loans under the Amended ABL Credit Facility mature on July 26, 2027. The maximum amount that Cactus Companies may borrow under the Amended ABL Credit Facility is subject to a borrowing base, which is based on a percentage of eligible accounts receivable and eligible inventory, subject to reserves and other adjustments.
We borrowed the full $125.0 million term loan amount and $30.0 million as a revolving loan at closing of the Amended ABL Credit Facility to fund a portion of the Merger. The term loan was required to be repaid in regular set amounts starting July 1, 2023 as set forth in the amortization schedule in the Amended ABL Credit Facility and could be prepaid without the payment of any prepayment premium (other than customary breakage costs for Term Benchmark (as defined below) borrowings). We began making discretionary prepayments on the term loan in April 2023 and continued to make payments until the entire $155.0 million we borrowed was repaid in July 2023.
Borrowings under the Amended ABL Credit Facility bear interest at Cactus Companies’ option at either (i) the Alternate Base Rate (as defined therein) (“ABR”), or (ii) the Adjusted Term SOFR Rate (as defined therein) (“Term Benchmark”), plus, in
each case, an applicable margin. Letters of credit issued under the Amended ABL Credit Facility accrue fees at a rate equal to the applicable margin for Term Benchmark borrowings. The applicable margin is 2.50% per annum for term loan ABR borrowings and 3.50% per annum for term loan Term Benchmark borrowings. The applicable margin for revolving loan borrowings ranges from 0.0% to 0.5% per annum for revolving loan ABR borrowings and 1.25% to 1.75% per annum for revolving loan Term Benchmark borrowings and, in each case, is based on the average quarterly availability of the revolving loan commitment under the Amended ABL Credit Facility for the immediately preceding fiscal quarter. The unused portion of revolving commitment under the Amended ABL Credit Facility is subject to a commitment fee of 0.25% per annum.
The Amended ABL Credit Facility contains various covenants and restrictive provisions that limit Cactus Companies’ and each of its subsidiaries’ ability to, among other things, incur additional indebtedness and create liens, make investments or loans, merge or consolidate with other companies, sell assets, make certain restricted payments and distributions, and engage in transactions with affiliates. The obligations under the Amended ABL Credit Facility are guaranteed by certain subsidiaries of Cactus Companies and secured by a security interest in accounts receivable, inventory, equipment and certain other real and personal property assets of Cactus Companies and the guarantors. Until the term loan was paid in full, the Amended ABL Credit Facility required Cactus Companies to maintain a leverage ratio no greater than 2.50 to 1.00 based on the ratio of Total Indebtedness (as defined therein) to EBITDA (as defined therein). The Amended ABL Credit Facility requires Cactus Companies to maintain a minimum fixed charge coverage ratio of 1.00 to 1.00 based on the ratio of EBITDA (as defined therein) minus Unfinanced Capital Expenditures (as defined therein) to Fixed Charges (as defined therein) during certain periods, including when availability under the Amended ABL Credit Facility is under certain levels. If Cactus Companies fails to perform its obligations under the Amended ABL Credit Facility, (i) the revolving commitments under the Amended ABL Credit Facility could be terminated, (ii) any outstanding borrowings under the Amended ABL Credit Facility may be declared immediately due and payable, and (iii) the lenders may commence foreclosure or other actions against the collateral. We were in compliance with all covenants under the Amended ABL Credit Facility as of September 30, 2023.
XML 26 R16.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue
9 Months Ended
Sep. 30, 2023
Revenue from Contract with Customer [Abstract]  
Revenue Revenue
The majority of our revenues are derived from short-term contracts for fixed consideration or in the case of rentals, for a fixed charge per day plus repairs while the equipment is in use by the customer. Product sales generally do not include right of return or other significant post-delivery obligations. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Revenues are recognized when we satisfy a performance obligation by transferring control of the promised goods or providing services to our customers at a point in time, in an amount specified in the contract with our customer and that reflects the consideration to which we expect to be entitled in exchange for those goods or services. The majority of our contracts with customers contain a single performance obligation to provide agreed upon products or services. For contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We do not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract with the customer. We do not incur any material costs of obtaining contracts.
We do not adjust the amount of consideration per the contract for the effects of a significant financing component when we expect, at contract inception, that the period between the transfer of a promised good or service to a customer and when the customer pays for that good or service will be one year or less, which is in substantially all cases. Payment terms and conditions vary, although terms generally include a requirement of payment within 30 to 60 days of invoicing. Revenues are recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. We treat shipping and handling associated with outbound freight as a fulfillment cost instead of as a separate performance obligation. We recognize the cost for the associated shipping and handling when incurred as an expense in cost of sales.
We disaggregate revenue into three categories: product revenues, rental revenues and field service and other revenues. We have predominately domestic operations with a small amount of sales in Australia, Canada, the Middle East and other international markets. The following table presents our revenues disaggregated by category:
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Product revenue
$214,295 74 %$121,782 66 %$605,698 74 %$328,054 65 %
Rental revenue
28,879 10 %27,105 15 %84,916 10 %73,143 15 %
Field service and other revenue
44,696 16 %35,594 19 %131,480 16 %99,398 20 %
Total revenues$287,870 100 %$184,481 100 %$822,094 100 %$500,595 100 %
At September 30, 2023, we had a deferred revenue balance of $8.6 million compared to the December 31, 2022 balance of $1.5 million. Deferred revenue represents our obligation to transfer products to or perform services for a customer for which we have received cash or billed in advance. The revenue that has been deferred will be recognized upon product delivery or as services are performed. As of September 30, 2023, we did not have any contracts with an original length of greater than a year from which revenue is expected to be recognized in the future related to performance obligations that are unsatisfied.
XML 27 R17.htm IDEA: XBRL DOCUMENT v3.23.3
Tax Receivable Agreement ("TRA")
9 Months Ended
Sep. 30, 2023
Tax Receivable Agreement  
Tax Receivable Agreement ("TRA") Tax Receivable Agreement (TRA)
In connection with our initial public offering (“IPO”) in February 2018, we entered into the TRA which generally provides for payment by Cactus Inc. to certain direct and indirect owners of Cactus LLC (after the CC Reorganization, Cactus Companies) of 85% of the net cash savings, if any, in U.S. federal, state and local income tax and franchise tax that Cactus Inc. actually realizes or is deemed to realize in certain circumstances. Cactus Inc. will retain the benefit of the remaining 15% of these net cash savings.
The TRA liability is calculated by determining the tax basis subject to the TRA (“tax basis”) and applying a blended tax rate to the basis differences and calculating the resulting iterative impact. The blended tax rate consists of the U.S. federal income tax rate and an assumed combined state and local income tax rate driven by the apportionment factors applicable to each state. Subsequent changes to the measurement of the TRA liability are recognized in the statements of income as a component of other expense, net. After finalizing its 2022 federal tax return in September 2023, Cactus Inc. made a $26.9 million TRA payment, which is equal to 85% of the $31.6 million 2022 tax benefit resulting from the exchange of CC Units for shares of Class A common stock. In September 2022, Cactus Inc. made an $11.7 million TRA payment based on its 2021 federal tax return. As of September 30, 2023, the total liability from the TRA was $271.1 million with $20.9 million reflected in current liabilities based on the expected timing of our next payment. The payments under the TRA will not be conditional on a holder of rights under the TRA having a continued ownership interest in either Cactus Companies or Cactus Inc.
The term of the TRA commenced upon completion of our IPO and will continue until all tax benefits that are subject to the TRA have been utilized or expired, unless we exercise our right to terminate the TRA. If we elect to terminate the TRA early (or it is terminated early due to certain mergers, asset sales, other forms of business combinations or other changes of control), our obligations under the TRA would accelerate and we would be required to make an immediate payment equal to the present value of the anticipated future payments to be made by us under the TRA and such payment is expected to be substantial. The calculation of anticipated future payments will be based upon certain assumptions and deemed events set forth in the TRA, including the assumptions that (i) we have sufficient taxable income to fully utilize the tax benefits covered by the TRA and (ii) any CC Units (other than those held by Cactus Inc.) outstanding on the termination date are deemed to be redeemed on the termination date. Any early termination payment may be made significantly in advance of the actual realization, if any, of the future tax benefits to which the termination payment relates.
We may elect to defer payments due under the TRA if we do not have available cash to satisfy our payment obligations under the TRA. Any such deferred payments under the TRA generally will accrue interest from the due date for such payment until the payment date.
XML 28 R18.htm IDEA: XBRL DOCUMENT v3.23.3
Equity
9 Months Ended
Sep. 30, 2023
Equity [Abstract]  
Equity Equity
As of September 30, 2023, Cactus Inc. owned 82.2% of Cactus Companies as compared to 80.3% of Cactus LLC (prior to the CC Reorganization) as of December 31, 2022. As of September 30, 2023, Cactus Inc. had outstanding 65.3 million shares of Class A common stock (representing 82.2% of the total voting power) and 14.1 million shares of Class B common stock (representing 17.8% of the total voting power).
Equity Offering
In January 2023, Cactus Inc. completed an underwritten offering of 3,224,300 shares of Class A common stock at a price to the underwriters of $51.36 per share for net proceeds of $165.6 million (net of $6.9 million of underwriting discounts and commissions). In addition to the underwriting discounts and commissions, approximately $2.2 million of costs directly associated with the stock issuance were recorded as a reduction to additional paid-in capital.
FlexSteel Acquisition
In conjunction with the FlexSteel acquisition, a restricted stock award of 128,150 shares of Class A common stock was issued under the Company’s long-term incentive plan to a key employee in exchange for cash consideration of $6.5 million. The shares
are restricted from sale or trading and are subject to vesting requirements for one year from grant date. If the fair market value of the restricted shares is below the purchase price upon vesting, Cactus will compensate the key employee for the difference in price plus a gross-up for taxes. We are accounting for this guaranteed payment as stock compensation with liability classification and remeasure the liability to fair value at each reporting period. Compensation cost is being recognized ratably over the one-year vesting period. The liability balance is $0.7 million as of September 30, 2023 and is included in accrued expenses and other current liabilities in the consolidated balance sheets. We recognized $0.2 million of compensation expense in SG&A in the consolidated statements of income during the nine months ended September 30, 2023.
CC Reorganization
As part of the CC Reorganization in connection with the acquisition of FlexSteel, Cactus Companies acquired all of the outstanding units representing limited liability company interests of Cactus LLC ( “CW Units”) in exchange for an equal number of CC Units issued to each of the previous owners of CW Units other than Cactus Inc. (the “CW Unit Holders”). Upon the completion of the CC Reorganization, CW Unit Holders ceased to be holders of CW Units and, instead, became holders of a number of CC Units equal to the number of CW Units such CW Unit Holders held immediately prior to the completion of the CC Reorganization. After the CC Reorganization, we refer to the owners of CC Units, other than Cactus Inc. (along with their permitted transferees), as “CC Unit Holders.” Following the completion of the CC Reorganization, CC Unit Holders own one share of our Class B Common Stock for each CC Unit such CC Unit Holder owns.
In connection with the CC Reorganization, Cactus Inc. and the owners of CC Units entered into the Amended and Restated Limited Liability Company Operating Agreement of Cactus Companies (the “Cactus Companies LLC Agreement”), which contains substantially the same terms and conditions as the Second Amended and Restated Limited Liability Company Operating Agreement of Cactus LLC (the “Cactus Wellhead LLC Agreement”), which was the limited liability company operating agreement of Cactus LLC prior to the CC Reorganization. Cactus Inc. was responsible for all operational, management and administrative decisions relating to Cactus LLC’s business for the period from completion of our IPO until the CC Reorganization and relating to Cactus Companies’ business for periods after the CC Reorganization. Pursuant to the Cactus Companies LLC Agreement, each holder of CC Units has, subject to certain limitations, the right to cause Cactus Companies to acquire all or at least a minimum portion of its CC Units for, at Cactus Companies’ election, (x) shares of our Class A common stock at a redemption ratio of one share of Class A common stock for each CC Unit redeemed, subject to conversion rate adjustments for stock splits, stock dividends and reclassification and other similar transactions, or (y) an equivalent amount of cash. Alternatively, upon the exercise of such redemption right, Cactus Inc. (instead of Cactus Companies) has the right to acquire each tendered CC Unit directly from the exchanging CC Unit Holder for, at its election, (x) one share of Class A common stock, subject to conversion rate adjustments for stock splits, stock dividends and reclassifications and other similar transactions, or (y) an equivalent amount of cash. In connection with any redemption of CC Units pursuant to such redemption right or our alternative right to acquire each tendered CC Unit, the corresponding number of shares of Class B common stock would be canceled.
Redemptions of CC Units
Pursuant to the Cactus Companies LLC Agreement, holders of CC Units are entitled to redeem their CC Units, which results in additional Class A common stock outstanding. Since our IPO in February 2018, an aggregate of 46.5 million of CC Units (including CW Units prior to the CC Reorganization) and a corresponding number of shares of Class B common stock have been redeemed in exchange for shares of Class A common stock.
During the nine months ended September 30, 2023, 0.9 million CC Units, together with a corresponding number of shares of Class B common stock, were redeemed in exchange for Class A common stock in accordance with the Cactus Companies LLC Agreement. During the nine months ended September 30, 2022, 1.5 million CW Units, together with a corresponding number of shares of Class B common stock, were redeemed in exchange for Class A common stock in accordance with the Cactus Wellhead LLC Agreement. There was no change in the combined number of Cactus Inc. voting shares outstanding as a result of the redemptions.
Dividends
Aggregate cash dividends of $0.34 per share of Class A common stock declared during the nine months ended September 30, 2023 totaled $22.3 million compared to $0.33 per share of Class A common stock and $20.1 million during the nine months ended September 30, 2022. Cash dividends paid during the nine months ended September 30, 2023 and 2022 totaled $22.3 million and $20.0 million, respectively. Dividends accrue on unvested equity-based awards on the date of record and are paid upon vesting. Dividends are not paid to our Class B common stockholders; however, a corresponding distribution up to the same
amount per share as our Class A common stockholders is paid to the owners of CC Units other than Cactus Inc. for any dividends declared on our Class A common stock. See further discussion of the distributions below under “Member Distributions.”
Share Repurchase Program
On June 6, 2023, our board of directors authorized the Company to repurchase shares of its Class A common stock for an aggregate purchase price of up to $150 million. Under our share repurchase program, shares may be repurchased from time to time in open market transactions or block trades, in privately negotiated transactions or any other method permitted under U.S. securities laws, rules and regulations. The repurchase program does not obligate the Company to purchase any particular amount of shares, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. During the nine months ended September 30, 2023, the Company purchased and retired 4,007 shares of Class A common stock for $0.2 million or $39.69 average price per share excluding commissions, under the share repurchase program. As of September 30, 2023, $149.8 million remained authorized for future repurchases of Class A common stock under the program.
Member Distributions
Distributions made by Cactus Companies are generally required to be made pro rata among all its members. For the nine months ended September 30, 2023, Cactus Companies distributed $63.1 million to Cactus Inc. to fund its dividend, TRA and estimated tax payments and made pro rata distributions to the other members totaling $13.9 million over the same period. During the nine months ended September 30, 2022, Cactus Companies distributed $31.7 million to Cactus Inc. to fund its dividend, TRA and estimated payments and made pro rata distributions to the other members totaling $8.0 million.
Limitation of Members’ Liability
Under the terms of the Cactus Companies LLC Agreement, the members of Cactus Companies are not obligated for debt, liabilities, contracts or other obligations of Cactus Companies. Profits and losses are allocated to members as defined in the Cactus Companies LLC Agreement.
XML 29 R19.htm IDEA: XBRL DOCUMENT v3.23.3
Commitments and Contingencies
9 Months Ended
Sep. 30, 2023
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and ContingenciesWe are involved in various disputes arising in the ordinary course of business. Management does not believe the outcome of these disputes will have a material adverse effect on our consolidated financial position or consolidated results of operations.
XML 30 R20.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements
9 Months Ended
Sep. 30, 2023
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
Authoritative guidance on fair value measurements provides a framework for measuring fair value and establishes a fair value hierarchy that prioritizes the inputs used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 inputs) and the lowest priority to unobservable inputs (Level 3 inputs). The carrying value of cash and cash equivalents, receivables, accounts payable and accrued expenses approximates fair value based on the short-term nature of these accounts.
The following table sets forth our liabilities that are measured at fair value on a recurring basis by level within the fair value hierarchy:
Fair Value at September 30, 2023
Level 1Level 2Level 3Total
Liabilities:
Earn-out liability$— $— $18,892 $18,892 
Put option liability— — 777 777 
The earn-out liability related to the FlexSteel acquisition (see Note 2) is measured at fair value using Level 3 unobservable inputs at the end of each reporting period with changes in its estimated fair value recorded in earnings until the liability is settled. The fair value is determined based on the evaluation of the probability and amount of earn-out that may be achieved based on expected future performance of FlexSteel using a Monte Carlo simulation model. The Monte Carlo simulation model uses assumptions including revenue volatilities, risk free rates, credit discount rates and revenue discount rates. Significant changes in any of those assumptions could have a material effect on the estimated fair value of the earn-out payment. The following table
sets forth the range of inputs for the significant assumptions utilized to determine the fair value of the earn-out payment as of September 30, 2023:
September 30, 2023
Risk-free interest rate5.60%to5.63%
Expected revenue volatility25.20%
Revenue discount rate10.88%to10.92%
Credit discount rate10.90%to11.00%
The put option liability represents the guaranteed payment on restricted stock purchased in conjunction with the FlexSteel acquisition (see Note 10). This liability is measured at fair value at the end of each reporting period until the liability is settled with changes in fair value from grant date recognized ratably over the one-year vesting period. The fair value is determined using the Black-Scholes option pricing method that utilizes a selected volatility calculated based on weighting historical and implied volatility indications. As the selected volatility involves judgement and is a significant input to estimating the fair value of the put option, it is classified as a Level 3 input. Significant changes in the volatility could have a material effect on the estimated fair value of the put option liability. The following table sets forth the inputs for the significant assumptions utilized to determine the fair value of the put option liability as of September 30, 2023:
September 30, 2023
Risk-free interest rate5.46%
Expected volatility39.27%
Dividend yield0.95%
The following table presents a summary of the changes in fair value of our liabilities measured using Level 3 inputs:
Earn-outPut Option
Opening Balance$5,960 $510 
Changes in fair value (1)
12,932 267 
Balance at September 30, 2023$18,892 $777 
(1)We recognized $12.9 million of remeasurement expense associated with the change in the fair value of the earn-out liability during the nine months ended September 30, 2023. During the three months ended March 31, 2023, a $0.1 million gain was recognized in other income, net in the consolidated statements of operations. After the first quarter of 2023, the change in fair value of the earn-out liability is being presented separately as a component of operating income with $13.1 million of expense recognized during the six months ended September 30, 2023. For the put option liability, we recognized $0.2 million of expense associated with the change in fair value in SG&A in the consolidated statements of income during the nine months ended September 30, 2023.
The fair value of our foreign currency forwards was less than $0.1 million as of September 30, 2023 and was determined using market observable inputs including forward and spot prices (Level 2 inputs).
XML 31 R21.htm IDEA: XBRL DOCUMENT v3.23.3
Segment Reporting
9 Months Ended
Sep. 30, 2023
Segment Reporting [Abstract]  
Segment Reporting Segment Reporting
Prior to the acquisition of FlexSteel, we operated in a single segment which reflected how our business was managed and the nature of our products and services. Upon completion of the acquisition, we re-evaluated our reportable segments and now report two business segments. Our business segments offer different products and services and correspond to the manner in which our chief operating decision maker reviews and evaluates operating performance to make decisions about resources to be allocated to each segment.
Our reporting segments are:
Pressure Control – engaged in the design, manufacture, sale, installation and service of wellhead and pressure control equipment utilized during the drilling, completion and production phases of oil and gas wells.
Spoolable Technologies – engaged in the design, manufacture, sale, installation, service and associated rental of onshore spoolable pipe technologies utilized for production, gathering and takeaway transportation of oil, gas or other liquids.
Financial information by business segment for the three and nine months ended September 30, 2023 and 2022 is summarized below.
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Revenue:
Pressure Control$182,484 $184,481 $576,273 $500,595 
Spoolable Technologies105,386 — 245,821 — 
Total revenues287,870 184,481 822,094 500,595 
Operating income:
Pressure Control (1)
47,830 51,296 151,809 126,527 
Spoolable Technologies39,773 — 34,004 — 
Total operating income87,603 51,296 185,813 126,527 
Interest income (expense), net(1,372)1,140 (6,298)1,344 
Other income, net266 1,125 3,804 10 
Income before income taxes$86,497 $53,561 $183,319 $127,881 
(1)Includes corporate and other costs not directly attributable to our reporting segments such as corporate executive management and other administrative functions.
XML 32 R22.htm IDEA: XBRL DOCUMENT v3.23.3
Earnings per Share
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Earnings per Share Earnings per Share
Basic earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during the period by the weighted average number of shares of Class A common stock outstanding during the same period. Diluted earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during that period by the weighted average number of common shares outstanding assuming all potentially dilutive shares were issued.
We use the if-converted method to determine the potential dilutive effect of outstanding CC Units (and corresponding shares of outstanding Class B common stock), the treasury stock method to determine the potential dilutive effect of unvested restricted stock units assuming that the proceeds will be used to purchase shares of Class A common stock and the contingently issuable share method to determine the potential dilutive effect of unvested performance stock units.
The following table summarizes the basic and diluted earnings per share calculations:
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Numerator:
Net income attributable to Cactus Inc.—basic
$52,580 $31,425 $120,224 $79,185 
Net income attributable to non-controlling interest (1)
— — 24,874 19,686 
Net income attributable to Cactus Inc.—diluted (1)
$52,580 $31,425 $145,098 $98,871 
Denominator:
Weighted average Class A shares outstanding—basic
64,879 60,665 64,399 60,164 
Effect of dilutive shares (2)
607 441 15,233 16,132 
Weighted average Class A shares outstanding—diluted (2)
65,486 61,106 79,632 76,296 
Earnings per Class A share—basic
$0.81 $0.52 $1.87 $1.32 
Earnings per Class A share—diluted (1)(2)
$0.80 $0.51 $1.82 $1.30 
(1)The numerator is adjusted in the calculation of diluted earnings per share under the if-converted method to include net income attributable to the non-controlling interest calculated as its pre-tax income adjusted for a corporate effective tax rate of 26.0% for the nine months ended September 30, 2023 and 25.0% for the nine months ended September 30, 2022.
(2)Diluted earnings per share for the three months ended September 30, 2023 and 2022 excludes 14.6 million and 15.2 million, respectively, of weighted average shares of Class B common stock as the effect would be anti-dilutive.
XML 33 R23.htm IDEA: XBRL DOCUMENT v3.23.3
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Pay vs Performance Disclosure        
Net Income (Loss) $ 52,580 $ 31,425 $ 120,224 $ 79,185
XML 34 R24.htm IDEA: XBRL DOCUMENT v3.23.3
Insider Trading Arrangements
3 Months Ended
Sep. 30, 2023
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 35 R25.htm IDEA: XBRL DOCUMENT v3.23.3
Preparation of Interim Financial Statements and Other Items (Policies)
9 Months Ended
Sep. 30, 2023
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Basis of Presentation
Basis of Presentation
The financial statements presented in this report represent the consolidation of Cactus, Inc. (“Cactus Inc.”) and its subsidiaries (the “Company”), including Cactus Companies, LLC (“Cactus Companies”). Cactus Inc. is a holding company whose only material asset is an equity interest consisting of units representing limited liability company interests in Cactus Companies (“CC Units”). Cactus Inc. is the sole managing member of Cactus Companies and operates and controls all of the business and affairs of Cactus Companies and conducts its business through Cactus Companies and its subsidiaries. As a result, Cactus Inc. consolidates the financial results of Cactus Companies and its subsidiaries and reports a non-controlling interest related to the portion of CC Units not owned by Cactus Inc., which reduces net income attributable to holders of Cactus Inc.’s Class A common stock, par value $0.01 per share (“Class A common stock”). Except as otherwise indicated or required by the context, all references to “Cactus,” “we,” “us” and “our” refer to Cactus Inc. and its consolidated subsidiaries.
On February 28, 2023, Cactus Inc. through one of its subsidiaries, completed the merger of the FlexSteel business (the “Merger”) through a merger with HighRidge Resources, Inc. and its subsidiaries (“HighRidge”). On February 27, 2023, in order to facilitate the Merger with HighRidge, an internal reorganization was completed in which Cactus Companies acquired all of the outstanding units representing ownership interests in Cactus Wellhead, LLC (“Cactus LLC”), the operating subsidiary of Cactus Inc. (the “CC Reorganization”). The purpose of the Merger was to effect the acquisition of the operations of FlexSteel Holdings, Inc. and its subsidiaries. FlexSteel Holdings, Inc. was a wholly-owned subsidiary of HighRidge prior to the Merger and was converted into a limited liability company, contributed from HighRidge to Cactus Companies as part of the CC Reorganization and is now named FlexSteel Holdings, LLC (“FlexSteel”). The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition through September 30, 2023. See Note 2 for additional information related to the acquisition.
Following the acquisition of FlexSteel, we now operate in two business segments: Pressure Control and Spoolable Technologies.
The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) for interim financial information. Accordingly, these consolidated financial statements do not include all information or notes required by generally accepted accounting principles for annual financial statements and should be read together with our Annual Report on Form 10-K for the year ended December 31, 2022.
The consolidated financial statements include all adjustments, which are of a normal recurring nature, unless otherwise disclosed, necessary for a fair statement of the consolidated financial statements for the interim periods. The results of operations for any interim period are not necessarily indicative of the results to be expected for the full year.
Use of Estimates
Use of Estimates
In preparing our consolidated financial statements in conformity with GAAP, we make numerous estimates and assumptions that affect the accounting for and recognition and disclosure of assets, liabilities, equity, revenues and expenses. We must make these estimates and assumptions because certain information that we use is dependent on future events, cannot be calculated with a high degree of precision from available data or is not otherwise capable of being readily calculated based on accepted methodologies. In some cases, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ materially from the estimates and assumptions that we use in the preparation of our consolidated financial statements.
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.23.3
FlexSteel Acquisition (Tables)
9 Months Ended
Sep. 30, 2023
Business Combination and Asset Acquisition [Abstract]  
Summary of Purchase Price Consideration
The final purchase price consideration for the acquisition is $627.5 million and is summarized as follows:
Purchase Price Consideration
Cash consideration$621,505 
Add: Contingent consideration (1)
5,960 
Fair value of consideration transferred$627,465 
(1) Represents the estimated fair value as of the acquisition date of the earn-out payment of up to $75 million of additional cash consideration if certain revenue growth targets are met by FlexSteel. The estimated fair value of the earn-out payment was determined using a Monte Carlo simulation valuation methodology based on probability-weighted performance projections and other inputs, including a discount rate.
Summary of Preliminary Purchase Price Allocation The following table provides the preliminary allocation of the purchase price as of the acquisition date. The goodwill reflected below decreased $0.6 million from the original preliminary purchase price allocation as a result of measurement period adjustments, primarily related to changes in cash consideration upon finalization of the closing net working capital and the
resulting updates to deferred tax liabilities, partially offset by valuation adjustments to inventories and property and equipment.
Cash and cash equivalents$5,316 
Receivables57,747 
Inventories91,746 
Prepaid expenses and other current assets1,283 
Property and equipment208,955 
Operating lease right-of-use assets1,021 
Identifiable intangible assets200,300 
Other noncurrent assets5,666 
Total assets acquired572,034 
Accounts payable(14,789)
Accrued expenses and other current liabilities(26,827)
Finance lease obligations(974)
Operating lease liabilities(906)
Deferred tax liabilities(93,972)
Total liabilities assumed(137,468)
Net assets acquired434,566 
Goodwill$192,899 
Summary of Unaudited Proforma Results The unaudited pro forma financial information is presented for informational purposes only and is neither indicative of the results of operations that would have occurred if the acquisition had taken place at the beginning of the period presented nor indicative of future operating results.
Three Months Ended
September 30,
Nine Months Ended
September 30,
202220232022
Revenues$274,855 $875,473 $765,847 
Net Income attributable to Cactus, Inc.33,885 132,026 83,224 
XML 37 R27.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts Receivable and Allowance for Credit Losses (Tables)
9 Months Ended
Sep. 30, 2023
Receivables [Abstract]  
Schedule of Rollforward of Allowance for Credit Losses The following is a rollforward of our allowance for credit losses.
Balance at
Beginning of
Period
ExpenseWrite offTranslation AdjustmentsBalance at
End of
Period
Nine Months Ended September 30, 2023$1,060 $2,153 $(16)$(10)$3,187 
Nine Months Ended September 30, 2022741 224 (63)(1)901 
XML 38 R28.htm IDEA: XBRL DOCUMENT v3.23.3
Inventories (Tables)
9 Months Ended
Sep. 30, 2023
Inventory Disclosure [Abstract]  
Schedule of Inventories Inventories consist of the following:
September 30,
2023
December 31,
2022
Raw materials$23,144 $3,150 
Work-in-progress11,500 5,444 
Finished goods168,873 152,689 
$203,517 $161,283 
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.23.3
Property and Equipment, net (Tables)
9 Months Ended
Sep. 30, 2023
Property, Plant and Equipment [Abstract]  
Schedule of Property and Equipment Net Property and equipment consists of the following:
September 30,
2023
December 31,
2022
Land
$16,442 $5,302 
Buildings and improvements
131,960 25,480 
Machinery and equipment
127,701 57,883 
Reels and skids18,028 — 
Vehicles35,319 29,045 
Rental equipment215,581 194,088 
Furniture and fixtures
1,905 1,759 
Computers and software
3,889 3,068 
Gross property and equipment
550,825 316,625 
Less: Accumulated depreciation
(222,998)(200,573)
Net property and equipment
327,827 116,052 
Construction in progress
17,395 13,946 
Total property and equipment, net
$345,222 $129,998 
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Other Intangible Assets (Tables)
9 Months Ended
Sep. 30, 2023
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Goodwill The change in carrying value of goodwill allocated to our reportable segments during the nine months ended September 30, 2023 was as follows:
Pressure ControlSpoolable TechnologiesTotal
Balance at December 31, 2022$7,824 $— $7,824 
FlexSteel acquisition— 192,899 192,899 
Balance at September 30, 2023$7,824 $192,899 $200,723 
Summary of Total Intangible Assets
The following table presents the detail of acquired intangible assets other than goodwill as of September 30, 2023:
Gross CostAccumulated AmortizationNet Cost
Customer relationships$100,300 $(3,901)$96,399 
Developed technology77,000 (4,492)72,508 
Tradename16,000 (933)15,067 
Backlog7,000 (7,000)— 
Total$200,300 $(16,326)$183,974 
Summary of Future Amortization Estimated future amortization expense is as follows:
Remainder of 2023$3,997 
202415,987 
202515,987 
202615,987 
202715,987 
202815,987 
Thereafter100,042 
Total$183,974 
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue (Tables)
9 Months Ended
Sep. 30, 2023
Revenue from Contract with Customer [Abstract]  
Schedule of Revenues Disaggregated by Category The following table presents our revenues disaggregated by category:
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Product revenue
$214,295 74 %$121,782 66 %$605,698 74 %$328,054 65 %
Rental revenue
28,879 10 %27,105 15 %84,916 10 %73,143 15 %
Field service and other revenue
44,696 16 %35,594 19 %131,480 16 %99,398 20 %
Total revenues$287,870 100 %$184,481 100 %$822,094 100 %$500,595 100 %
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements (Tables)
9 Months Ended
Sep. 30, 2023
Fair Value Disclosures [Abstract]  
Summary of Liabilities Measured at Fair Value
The following table sets forth our liabilities that are measured at fair value on a recurring basis by level within the fair value hierarchy:
Fair Value at September 30, 2023
Level 1Level 2Level 3Total
Liabilities:
Earn-out liability$— $— $18,892 $18,892 
Put option liability— — 777 777 
Summary of Significant Assumptions to Determine Fair Value The following table
sets forth the range of inputs for the significant assumptions utilized to determine the fair value of the earn-out payment as of September 30, 2023:
September 30, 2023
Risk-free interest rate5.60%to5.63%
Expected revenue volatility25.20%
Revenue discount rate10.88%to10.92%
Credit discount rate10.90%to11.00%
The following table sets forth the inputs for the significant assumptions utilized to determine the fair value of the put option liability as of September 30, 2023:
September 30, 2023
Risk-free interest rate5.46%
Expected volatility39.27%
Dividend yield0.95%
Summary of Changes in Fair Value
The following table presents a summary of the changes in fair value of our liabilities measured using Level 3 inputs:
Earn-outPut Option
Opening Balance$5,960 $510 
Changes in fair value (1)
12,932 267 
Balance at September 30, 2023$18,892 $777 
(1)We recognized $12.9 million of remeasurement expense associated with the change in the fair value of the earn-out liability during the nine months ended September 30, 2023. During the three months ended March 31, 2023, a $0.1 million gain was recognized in other income, net in the consolidated statements of operations. After the first quarter of 2023, the change in fair value of the earn-out liability is being presented separately as a component of operating income with $13.1 million of expense recognized during the six months ended September 30, 2023. For the put option liability, we recognized $0.2 million of expense associated with the change in fair value in SG&A in the consolidated statements of income during the nine months ended September 30, 2023.
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.23.3
Segment Reporting (Tables)
9 Months Ended
Sep. 30, 2023
Segment Reporting [Abstract]  
Summarized Financial Information by Segment
Financial information by business segment for the three and nine months ended September 30, 2023 and 2022 is summarized below.
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Revenue:
Pressure Control$182,484 $184,481 $576,273 $500,595 
Spoolable Technologies105,386 — 245,821 — 
Total revenues287,870 184,481 822,094 500,595 
Operating income:
Pressure Control (1)
47,830 51,296 151,809 126,527 
Spoolable Technologies39,773 — 34,004 — 
Total operating income87,603 51,296 185,813 126,527 
Interest income (expense), net(1,372)1,140 (6,298)1,344 
Other income, net266 1,125 3,804 10 
Income before income taxes$86,497 $53,561 $183,319 $127,881 
(1)Includes corporate and other costs not directly attributable to our reporting segments such as corporate executive management and other administrative functions.
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.23.3
Earnings per Share (Tables)
9 Months Ended
Sep. 30, 2023
Earnings Per Share [Abstract]  
Schedule of Basic and Diluted Earnings per Share
The following table summarizes the basic and diluted earnings per share calculations:
Three Months Ended
September 30,
Nine Months Ended
September 30,
2023202220232022
Numerator:
Net income attributable to Cactus Inc.—basic
$52,580 $31,425 $120,224 $79,185 
Net income attributable to non-controlling interest (1)
— — 24,874 19,686 
Net income attributable to Cactus Inc.—diluted (1)
$52,580 $31,425 $145,098 $98,871 
Denominator:
Weighted average Class A shares outstanding—basic
64,879 60,665 64,399 60,164 
Effect of dilutive shares (2)
607 441 15,233 16,132 
Weighted average Class A shares outstanding—diluted (2)
65,486 61,106 79,632 76,296 
Earnings per Class A share—basic
$0.81 $0.52 $1.87 $1.32 
Earnings per Class A share—diluted (1)(2)
$0.80 $0.51 $1.82 $1.30 
(1)The numerator is adjusted in the calculation of diluted earnings per share under the if-converted method to include net income attributable to the non-controlling interest calculated as its pre-tax income adjusted for a corporate effective tax rate of 26.0% for the nine months ended September 30, 2023 and 25.0% for the nine months ended September 30, 2022.
(2)Diluted earnings per share for the three months ended September 30, 2023 and 2022 excludes 14.6 million and 15.2 million, respectively, of weighted average shares of Class B common stock as the effect would be anti-dilutive.
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.23.3
Preparation of Interim Financial Statements and Other Items (Details)
9 Months Ended
Sep. 30, 2023
segment
$ / shares
Dec. 31, 2022
$ / shares
Organization and Nature of Operations    
Number of business segments | segment 2  
Class A Common Stock    
Organization and Nature of Operations    
Common stock, par value (in dollars per share) | $ / shares $ 0.01 $ 0.01
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.23.3
FlexSteel Acquisition - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 7 Months Ended 9 Months Ended
Feb. 28, 2023
Sep. 30, 2023
Mar. 31, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Business Acquisition [Line Items]                
Earn-out liability   $ 18,892     $ 18,892 $ 18,892   $ 0
Upfront purchase price funds $ 165,600              
Additional costs related to reporting and accounting of the transaction   4,400     4,400 4,400    
Tax expense associated with revaluation of deferred tax asset     $ 4,300          
Net income   52,580   $ 31,425   120,224 $ 79,185  
FlexSteel                
Business Acquisition [Line Items]                
Cash consideration 621,505              
Earn-out liability 75,000 18,900     18,900 18,900    
Borrowings total 155,000              
Transaction costs   $ 7,500     7,500 $ 7,500    
Indemnification asset $ 5,700              
Tax benefit for release of valuation allowance     $ 12,100          
Revenue         245,800      
Net income         $ 34,100      
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.23.3
FlexSteel Acquisition - Summary of Purchase Price Consideration (Details) - USD ($)
$ in Thousands
Feb. 28, 2023
Sep. 30, 2023
Dec. 31, 2022
Business Acquisition [Line Items]      
Earn-out liability   $ 18,892 $ 0
FlexSteel      
Business Acquisition [Line Items]      
Cash consideration $ 621,505    
Add: Contingent consideration 5,960    
Fair value of consideration transferred 627,465    
Earn-out liability $ 75,000 $ 18,900  
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.23.3
FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details) - USD ($)
$ in Thousands
3 Months Ended
Sep. 30, 2023
Feb. 28, 2023
Dec. 31, 2022
Business Acquisition [Line Items]      
Operating lease right-of-use assets   $ 1,021  
Goodwill $ 200,723   $ 7,824
FlexSteel      
Business Acquisition [Line Items]      
Goodwill decrease $ 600    
Cash and cash equivalents   5,316  
Receivables   57,747  
Inventories   91,746  
Prepaid expenses and other current assets   1,283  
Property and equipment   208,955  
Identifiable intangible assets   200,300  
Other noncurrent assets   5,666  
Total assets acquired   572,034  
Accounts payable   (14,789)  
Accrued expenses and other current liabilities   (26,827)  
Finance lease obligations   (974)  
Operating lease liabilities   (906)  
Deferred tax liabilities   (93,972)  
Total liabilities assumed   (137,468)  
Net assets acquired   434,566  
Goodwill   $ 192,899  
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.23.3
FlexSteel Acquisition - Summary of Unadited Proforma Results (Details) - FlexSteel - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Business Acquisition [Line Items]      
Revenues $ 274,855 $ 875,473 $ 765,847
Net Income attributable to Cactus, Inc. $ 33,885 $ 132,026 $ 83,224
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.23.3
Accounts Receivable and Allowance for Credit Losses (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Accounts Receivable      
Unbilled revenue $ 36,600   $ 34,900
Accounts Receivable, Allowance for Credit Loss [Roll Forward]      
Balance at Beginning of Period 1,060 $ 741  
Expense 2,153 224  
Write off (16) (63)  
Translation Adjustments (10) (1)  
Balance at End of Period $ 3,187 $ 901  
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.23.3
Inventories (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Summary of inventories    
Raw materials $ 23,144 $ 3,150
Work-in-progress 11,500 5,444
Finished goods 168,873 152,689
Total inventory $ 203,517 $ 161,283
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.23.3
Property and Equipment, net (Details) - USD ($)
$ in Thousands
Sep. 30, 2023
Dec. 31, 2022
Property, Plant and Equipment [Line Items]    
Gross property and equipment $ 550,825 $ 316,625
Less: Accumulated depreciation (222,998) (200,573)
Net property and equipment 327,827 116,052
Total property and equipment, net 345,222 129,998
Land    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 16,442 5,302
Buildings and improvements    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 131,960 25,480
Machinery and equipment    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 127,701 57,883
Reels and skids    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 18,028 0
Vehicles    
Property, Plant and Equipment [Line Items]    
Vehicles 35,319 29,045
Rental equipment    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 215,581 194,088
Furniture and fixtures    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 1,905 1,759
Computers and software    
Property, Plant and Equipment [Line Items]    
Gross property and equipment 3,889 3,068
Construction in progress    
Property, Plant and Equipment [Line Items]    
Gross property and equipment $ 17,395 $ 13,946
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2023
USD ($)
Goodwill [Roll Forward]  
Balance at December 31, 2022 $ 7,824
FlexSteel acquisition 192,899
Balance at September 30, 2023 200,723
Pressure Control  
Goodwill [Roll Forward]  
Balance at December 31, 2022 7,824
FlexSteel acquisition 0
Balance at September 30, 2023 7,824
Spoolable Technologies  
Goodwill [Roll Forward]  
Balance at December 31, 2022 0
FlexSteel acquisition 192,899
Balance at September 30, 2023 $ 192,899
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Other Intangible Assets - Summary of Total Intangible Assets (Details)
$ in Thousands
Sep. 30, 2023
USD ($)
Finite-Lived Intangible Assets, Net [Abstract]  
Gross Cost $ 200,300
Accumulated Amortization (16,326)
Net Cost 183,974
Customer relationships  
Finite-Lived Intangible Assets, Net [Abstract]  
Gross Cost 100,300
Accumulated Amortization (3,901)
Net Cost 96,399
Developed technology  
Finite-Lived Intangible Assets, Net [Abstract]  
Gross Cost 77,000
Accumulated Amortization (4,492)
Net Cost 72,508
Tradename  
Finite-Lived Intangible Assets, Net [Abstract]  
Gross Cost 16,000
Accumulated Amortization (933)
Net Cost 15,067
Backlog  
Finite-Lived Intangible Assets, Net [Abstract]  
Gross Cost 7,000
Accumulated Amortization (7,000)
Net Cost $ 0
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Other Intangible Assets - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Finite-Lived Intangible Assets [Line Items]        
Amortization expense $ 29,549 $ 15,970 $ 97,519 $ 44,804
Identifiable Intangible Assets Acquired        
Finite-Lived Intangible Assets [Line Items]        
Amortization period 12 years   12 years  
Amortization expense $ 4,000   $ 16,300  
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.23.3
Goodwill and Other Intangible Assets - Summary of Future Amortization (Details)
$ in Thousands
Sep. 30, 2023
USD ($)
Goodwill and Intangible Assets Disclosure [Abstract]  
Remainder of 2023 $ 3,997
2024 15,987
2025 15,987
2026 15,987
2027 15,987
2028 15,987
Thereafter 100,042
Net Cost $ 183,974
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.23.3
Debt - Narrative (Details)
9 Months Ended
Feb. 28, 2023
USD ($)
Sep. 30, 2023
USD ($)
Dec. 31, 2022
USD ($)
Jul. 25, 2022
USD ($)
Aug. 21, 2018
USD ($)
Long-term Debt          
Debt outstanding     $ 0    
Letters of credit outstanding   $ 1,500,000      
Repayment of debt $ 155,000,000        
Secured Debt | Amended ABL Credit Facility          
Long-term Debt          
Face amount 125,000,000        
ABL Credit Facility | Line of Credit | Amended ABL Credit Facility          
Long-term Debt          
Borrowing capacity 225,000,000        
ABL Credit Facility | Line of Credit | The Credit Facility          
Long-term Debt          
Debt gross 30,000,000        
Secured Debt | Line of Credit | The Credit Facility          
Long-term Debt          
Debt gross 125,000,000        
Letters of credit | Line of Credit | Amended ABL Credit Facility          
Long-term Debt          
Borrowing capacity 20,000,000        
Cactus LLC | Line of Credit          
Long-term Debt          
Borrowing capacity       $ 15,000,000  
Cactus LLC | ABL Credit Facility | Line of Credit          
Long-term Debt          
Term         5 years
Borrowing capacity       $ 80,000,000 $ 75,000,000
Additional commitments 50,000,000        
Maximum borrowing capacity $ 275,000,000        
Subsidiaries | ABL Credit Facility          
Long-term Debt          
Fixed charge coverage ratio   1.00      
Subsidiaries | ABL Credit Facility | Base Rate          
Long-term Debt          
Applicable margin rate   2.50%      
Subsidiaries | ABL Credit Facility | Secured Overnight Financing Rate          
Long-term Debt          
Applicable margin rate   3.50%      
Subsidiaries | ABL Credit Facility | Minimum          
Long-term Debt          
Commitment fee   0.25%      
Subsidiaries | ABL Credit Facility | Minimum | Base Rate          
Long-term Debt          
Applicable margin rate   0.00%      
Subsidiaries | ABL Credit Facility | Minimum | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate          
Long-term Debt          
Applicable margin rate   1.25%      
Subsidiaries | ABL Credit Facility | Maximum | Base Rate          
Long-term Debt          
Applicable margin rate   0.50%      
Subsidiaries | ABL Credit Facility | Maximum | Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate          
Long-term Debt          
Applicable margin rate   1.75%      
Subsidiaries | ABL Credit Facility | Line of Credit | Credit Agreement          
Long-term Debt          
Leverage ratio   2.50      
XML 58 R48.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue - Schedule of Revenues Disaggregated by Category (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Disaggregation of Revenue [Line Items]        
Total revenues $ 287,870 $ 184,481 $ 822,094 $ 500,595
Revenue as a percentage 100.00% 100.00% 100.00% 100.00%
Product revenue        
Disaggregation of Revenue [Line Items]        
Total revenues $ 214,295 $ 121,782 $ 605,698 $ 328,054
Revenue as a percentage 74.00% 66.00% 74.00% 65.00%
Rental revenue        
Disaggregation of Revenue [Line Items]        
Total revenues $ 28,879 $ 27,105 $ 84,916 $ 73,143
Revenue as a percentage 10.00% 15.00% 10.00% 15.00%
Field service and other revenue        
Disaggregation of Revenue [Line Items]        
Total revenues $ 44,696 $ 35,594 $ 131,480 $ 99,398
Revenue as a percentage 16.00% 19.00% 16.00% 20.00%
XML 59 R49.htm IDEA: XBRL DOCUMENT v3.23.3
Revenue - Narrative (Details) - USD ($)
$ in Millions
Sep. 30, 2023
Dec. 31, 2022
Contract Balances    
Deferred revenue $ 8.6 $ 1.5
XML 60 R50.htm IDEA: XBRL DOCUMENT v3.23.3
Tax Receivable Agreement ("TRA") (Details) - USD ($)
$ in Thousands
1 Months Ended 9 Months Ended 12 Months Ended
Feb. 28, 2018
Sep. 30, 2023
Dec. 31, 2022
Sep. 30, 2022
Tax Receivable Agreement        
Tax savings payable to TRA Holders 85.00% 85.00%    
Tax savings benefit retained by Cactus Inc 15.00%      
Tax receivable agreement payment   $ 26,900   $ 11,700
Tax receivable expense     $ 31,600  
Total TRA liability   271,100    
Current portion of liability related to tax receivable agreement   $ 20,855 $ 27,544  
XML 61 R51.htm IDEA: XBRL DOCUMENT v3.23.3
Equity (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended 12 Months Ended 68 Months Ended
Jan. 31, 2023
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Dec. 31, 2022
Sep. 30, 2023
Jun. 06, 2023
Equity                
Issuances of common stock       $ 169,369        
Cash dividend declared (in dollars per share)   $ 0.12 $ 0.11 $ 0.34 $ 0.33      
Share repurchases       $ 159        
Pro rata distributions made to other members       13,926 $ 8,007      
Share Repurchase Program                
Equity                
Authorized amount of stock repurchase               $ 150,000
Additional Paid-In Capital                
Equity                
Costs associated with stock issuance $ 2,200              
Issuances of common stock       143,302        
Share repurchases       $ 137        
Common stock | Share Repurchase Program                
Equity                
Common stock purchased and retired (in shares)       4,007        
Share repurchases       $ 200        
Average stock repurchased price (in dollars per share)       $ 39.69        
Common stock authorized repurchase amount   $ 149,800   $ 149,800     $ 149,800  
FlexSteel | Key Employee                
Equity                
Issuance of common stock (in shares)       128,150        
Issuances of common stock       $ 6,500        
Vesting period       1 year        
Period for recognition       1 year        
Accrued expenses and other current liabilities   $ 700   $ 700     $ 700  
Selling, general and administrative expenses       $ 200        
Cactus Companies                
Equity                
Ownership interest       82.20%        
Cactus LLC                
Equity                
Ownership interest           80.30%    
Cactus Inc                
Equity                
Cash distributions to unit holders       $ 63,100 31,700      
CC Unit Holders other than Cactus, Inc.                
Equity                
Pro rata distributions made to other members       $ 13,900 $ 8,000      
Class A Common Stock                
Equity                
Common stock, shares outstanding (in shares)   65,323,000   65,323,000   60,903,000 65,323,000  
Shares outstanding, percentage of total voting power   82.20%   82.20%     82.20%  
Cash dividend declared (in dollars per share)       $ 0.34 $ 0.33      
Dividends declared       $ 22,300 $ 20,100      
Dividends paid       $ 22,300 $ 20,000      
Class A Common Stock | Common stock                
Equity                
Issuance of common stock (in shares)       3,352,000        
Issuances of common stock       $ 34        
Class A Common Stock | Additional Offering                
Equity                
Shares sold (in shares) 3,224,300              
Price of stock (in dollars per share) $ 51.36              
Cash consideration $ 165,600              
Underwriting discounts $ 6,900              
Class A Common Stock | Cactus Companies LLC Agreement                
Equity                
Redemption ratio per unit (in shares)   1   1     1  
Shares subject to conversion rate adjustments (in shares)   1   1     1  
CW Unit redemptions (in shares)             46,500,000  
Class A Common Stock | March 2021 Secondary Offering                
Equity                
CW Unit redemptions (in shares)       900,000 1,500,000      
Class B Common Stock                
Equity                
Common stock, shares outstanding (in shares)   14,106,000   14,106,000   14,978,000 14,106,000  
Shares outstanding, percentage of total voting power   17.80%   17.80%     17.80%  
Class B Common Stock | Cactus Companies                
Equity                
Shares owned per units held (in shares)   1   1     1  
XML 62 R52.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements - Summary of Liabilities Measured at Fair Value (Details) - Fair Value, Recurring
$ in Thousands
Sep. 30, 2023
USD ($)
Earn-out liability  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Liabilities $ 18,892
Earn-out liability | Level 1  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Liabilities 0
Earn-out liability | Level 2  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Liabilities 0
Earn-out liability | Level 3  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Liabilities 18,892
Put option liability  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Liabilities 777
Put option liability | Level 1  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Liabilities 0
Put option liability | Level 2  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Liabilities 0
Put option liability | Level 3  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Liabilities $ 777
XML 63 R53.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details)
Sep. 30, 2023
Risk-free interest rate | Put option liability  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.0546
Risk-free interest rate | Minimum | Earn-out liability  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.0560
Risk-free interest rate | Maximum | Earn-out liability  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.0563
Expected revenue volatility | Earn-out liability  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.2520
Revenue discount rate | Minimum | Earn-out liability  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.1088
Revenue discount rate | Maximum | Earn-out liability  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.1092
Credit discount rate | Minimum | Earn-out liability  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.1090
Credit discount rate | Maximum | Earn-out liability  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.1100
Expected volatility | Put option liability  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.3927
Dividend yield | Put option liability  
Fair Value Measurement Inputs and Valuation Techniques [Line Items]  
Measurement inputs 0.0095
XML 64 R54.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements - Summary of Changes in Fair Value (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Mar. 31, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]          
Change in fair value of earn-out liability $ (5,091)   $ 0 $ 13,053 $ 0
Level 3 | Earn-out liability          
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]          
Opening Balance   $ 5,960   5,960  
Changes in fair value       12,932  
Balance at September 30, 2023 18,892     18,892  
Level 3 | Earn-out liability | FlexSteel          
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]          
Changes in fair value   100      
Level 3 | Put option liability          
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]          
Opening Balance   $ 510   510  
Changes in fair value       267  
Balance at September 30, 2023 $ 777     777  
Remeasurement Expense | Level 3 | Put option liability          
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]          
Changes in fair value       $ 200  
XML 65 R55.htm IDEA: XBRL DOCUMENT v3.23.3
Fair Value Measurements - Narrative (Details)
$ in Millions
Sep. 30, 2023
USD ($)
Level 2  
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]  
Foreign currency forwards $ 0.1
XML 66 R56.htm IDEA: XBRL DOCUMENT v3.23.3
Segment Reporting - Narrative (Details) - segment
2 Months Ended 7 Months Ended
Feb. 27, 2023
Sep. 30, 2023
Segment Reporting [Abstract]    
Number of operating segments 1  
Number of business segments   2
XML 67 R57.htm IDEA: XBRL DOCUMENT v3.23.3
Segment Reporting - Summarized Financial Information by Segment (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Segment Reporting Information [Line Items]        
Total revenues $ 287,870 $ 184,481 $ 822,094 $ 500,595
Total operating income 87,603 51,296 185,813 126,527
Interest income (expense), net (1,372) 1,140 (6,298) 1,344
Other income, net 266 1,125 3,804 10
Income before income taxes 86,497 53,561 183,319 127,881
Pressure Control        
Segment Reporting Information [Line Items]        
Total revenues 182,484 184,481 576,273 500,595
Total operating income 47,830 51,296 151,809 126,527
Spoolable Technologies        
Segment Reporting Information [Line Items]        
Total revenues 105,386 0 245,821 0
Total operating income $ 39,773 $ 0 $ 34,004 $ 0
XML 68 R58.htm IDEA: XBRL DOCUMENT v3.23.3
Earnings per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2023
Sep. 30, 2022
Sep. 30, 2023
Sep. 30, 2022
Numerator:        
Net income attributable to Cactus Inc. $ 52,580 $ 31,425 $ 120,224 $ 79,185
Net income attributable to non-controlling interest 0 0 24,874 19,686
Net income attributable to Cactus Inc. - diluted $ 52,580 $ 31,425 $ 145,098 $ 98,871
Denominator:        
Effect of dilutive shares (in shares) 607 441 15,233 16,132
Corporate effective income tax rate, if-converted method     26.00% 25.00%
Class A Common Stock        
Denominator:        
Weighted average Class A Shares Outstanding - basic (in shares) 64,879 60,665 64,399 60,164
Weighted average Class A shares outstanding - diluted (in shares) 65,486 61,106 79,632 76,296
Earnings per Class A share - basic (in dollars per share) $ 0.81 $ 0.52 $ 1.87 $ 1.32
Earnings per Class A share - diluted (in dollars per share) $ 0.80 $ 0.51 $ 1.82 $ 1.30
Class B Common Stock        
Denominator:        
Weighted average Class A shares outstanding - diluted (in shares) 14,600 15,200    
XML 69 whd-20230930_htm.xml IDEA: XBRL DOCUMENT 0001699136 2023-01-01 2023-09-30 0001699136 us-gaap:CommonClassAMember 2023-11-06 0001699136 us-gaap:CommonClassBMember 2023-11-06 0001699136 2023-09-30 0001699136 2022-12-31 0001699136 us-gaap:CommonClassAMember 2023-09-30 0001699136 us-gaap:CommonClassAMember 2022-12-31 0001699136 us-gaap:CommonClassBMember 2023-09-30 0001699136 us-gaap:CommonClassBMember 2022-12-31 0001699136 us-gaap:ProductMember 2023-07-01 2023-09-30 0001699136 us-gaap:ProductMember 2022-07-01 2022-09-30 0001699136 us-gaap:ProductMember 2023-01-01 2023-09-30 0001699136 us-gaap:ProductMember 2022-01-01 2022-09-30 0001699136 whd:RentalRevenueMember 2023-07-01 2023-09-30 0001699136 whd:RentalRevenueMember 2022-07-01 2022-09-30 0001699136 whd:RentalRevenueMember 2023-01-01 2023-09-30 0001699136 whd:RentalRevenueMember 2022-01-01 2022-09-30 0001699136 us-gaap:ProductAndServiceOtherMember 2023-07-01 2023-09-30 0001699136 us-gaap:ProductAndServiceOtherMember 2022-07-01 2022-09-30 0001699136 us-gaap:ProductAndServiceOtherMember 2023-01-01 2023-09-30 0001699136 us-gaap:ProductAndServiceOtherMember 2022-01-01 2022-09-30 0001699136 2023-07-01 2023-09-30 0001699136 2022-07-01 2022-09-30 0001699136 2022-01-01 2022-09-30 0001699136 us-gaap:CommonClassAMember 2023-07-01 2023-09-30 0001699136 us-gaap:CommonClassAMember 2022-07-01 2022-09-30 0001699136 us-gaap:CommonClassAMember 2023-01-01 2023-09-30 0001699136 us-gaap:CommonClassAMember 2022-01-01 2022-09-30 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-06-30 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-06-30 0001699136 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001699136 us-gaap:RetainedEarningsMember 2023-06-30 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001699136 us-gaap:NoncontrollingInterestMember 2023-06-30 0001699136 2023-06-30 0001699136 us-gaap:NoncontrollingInterestMember 2023-07-01 2023-09-30 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001699136 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001699136 us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-09-30 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-09-30 0001699136 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001699136 us-gaap:RetainedEarningsMember 2023-09-30 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-09-30 0001699136 us-gaap:NoncontrollingInterestMember 2023-09-30 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-06-30 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-06-30 0001699136 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001699136 us-gaap:RetainedEarningsMember 2022-06-30 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-06-30 0001699136 us-gaap:NoncontrollingInterestMember 2022-06-30 0001699136 2022-06-30 0001699136 us-gaap:NoncontrollingInterestMember 2022-07-01 2022-09-30 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-07-01 2022-09-30 0001699136 us-gaap:AdditionalPaidInCapitalMember 2022-07-01 2022-09-30 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-07-01 2022-09-30 0001699136 us-gaap:RetainedEarningsMember 2022-07-01 2022-09-30 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-09-30 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-09-30 0001699136 us-gaap:AdditionalPaidInCapitalMember 2022-09-30 0001699136 us-gaap:RetainedEarningsMember 2022-09-30 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-09-30 0001699136 us-gaap:NoncontrollingInterestMember 2022-09-30 0001699136 2022-09-30 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-12-31 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-12-31 0001699136 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001699136 us-gaap:RetainedEarningsMember 2022-12-31 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001699136 us-gaap:NoncontrollingInterestMember 2022-12-31 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001699136 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001699136 us-gaap:NoncontrollingInterestMember 2023-01-01 2023-09-30 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001699136 us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2021-12-31 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2021-12-31 0001699136 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001699136 us-gaap:RetainedEarningsMember 2021-12-31 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001699136 us-gaap:NoncontrollingInterestMember 2021-12-31 0001699136 2021-12-31 0001699136 us-gaap:NoncontrollingInterestMember 2022-01-01 2022-09-30 0001699136 us-gaap:CommonClassAMember us-gaap:CommonStockMember 2022-01-01 2022-09-30 0001699136 us-gaap:CommonClassBMember us-gaap:CommonStockMember 2022-01-01 2022-09-30 0001699136 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-09-30 0001699136 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-09-30 0001699136 us-gaap:RetainedEarningsMember 2022-01-01 2022-09-30 0001699136 whd:FlexSteelMember 2023-02-28 2023-02-28 0001699136 whd:FlexSteelMember 2023-02-28 0001699136 2023-02-28 0001699136 whd:FlexSteelMember 2023-09-30 0001699136 whd:FlexSteelMember 2023-07-01 2023-09-30 0001699136 whd:FlexSteelMember 2023-01-01 2023-03-31 0001699136 2023-01-01 2023-03-31 0001699136 whd:FlexSteelMember 2023-02-28 2023-09-30 0001699136 whd:FlexSteelMember 2022-07-01 2022-09-30 0001699136 whd:FlexSteelMember 2023-01-01 2023-09-30 0001699136 whd:FlexSteelMember 2022-01-01 2022-09-30 0001699136 us-gaap:LandMember 2023-09-30 0001699136 us-gaap:LandMember 2022-12-31 0001699136 us-gaap:BuildingAndBuildingImprovementsMember 2023-09-30 0001699136 us-gaap:BuildingAndBuildingImprovementsMember 2022-12-31 0001699136 us-gaap:MachineryAndEquipmentMember 2023-09-30 0001699136 us-gaap:MachineryAndEquipmentMember 2022-12-31 0001699136 whd:ReelsAndSkidsMember 2023-09-30 0001699136 whd:ReelsAndSkidsMember 2022-12-31 0001699136 us-gaap:VehiclesMember 2023-09-30 0001699136 us-gaap:VehiclesMember 2022-12-31 0001699136 whd:RentalEquipmentMember 2023-09-30 0001699136 whd:RentalEquipmentMember 2022-12-31 0001699136 us-gaap:FurnitureAndFixturesMember 2023-09-30 0001699136 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001699136 whd:ComputerAndSoftwareMember 2023-09-30 0001699136 whd:ComputerAndSoftwareMember 2022-12-31 0001699136 us-gaap:ConstructionInProgressMember 2023-09-30 0001699136 us-gaap:ConstructionInProgressMember 2022-12-31 0001699136 whd:PressureControlSegmentMember 2022-12-31 0001699136 whd:SpoolableTechnologiesMember 2022-12-31 0001699136 whd:PressureControlSegmentMember 2023-01-01 2023-09-30 0001699136 whd:SpoolableTechnologiesMember 2023-01-01 2023-09-30 0001699136 whd:PressureControlSegmentMember 2023-09-30 0001699136 whd:SpoolableTechnologiesMember 2023-09-30 0001699136 us-gaap:CustomerRelationshipsMember 2023-09-30 0001699136 us-gaap:TechnologyBasedIntangibleAssetsMember 2023-09-30 0001699136 us-gaap:TradeNamesMember 2023-09-30 0001699136 us-gaap:OrderOrProductionBacklogMember 2023-09-30 0001699136 whd:IdentifiableIntangibleAssetsAcquiredMember 2023-09-30 0001699136 whd:IdentifiableIntangibleAssetsAcquiredMember 2023-07-01 2023-09-30 0001699136 whd:IdentifiableIntangibleAssetsAcquiredMember 2023-01-01 2023-09-30 0001699136 whd:CactusWellheadLlcAndItsSubsidiariesMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2018-08-21 0001699136 whd:CactusWellheadLlcAndItsSubsidiariesMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2022-07-25 0001699136 whd:CactusWellheadLlcAndItsSubsidiariesMember us-gaap:LineOfCreditMember 2022-07-25 0001699136 whd:AmendedABLCreditFacilityMember us-gaap:SecuredDebtMember 2023-02-28 0001699136 us-gaap:RevolvingCreditFacilityMember whd:AmendedABLCreditFacilityMember us-gaap:LineOfCreditMember 2023-02-28 0001699136 us-gaap:LetterOfCreditMember whd:AmendedABLCreditFacilityMember us-gaap:LineOfCreditMember 2023-02-28 0001699136 whd:CactusWellheadLlcAndItsSubsidiariesMember us-gaap:RevolvingCreditFacilityMember us-gaap:LineOfCreditMember 2023-02-28 0001699136 us-gaap:SecuredDebtMember whd:TheCreditFacilityMember us-gaap:LineOfCreditMember 2023-02-28 0001699136 us-gaap:RevolvingCreditFacilityMember whd:TheCreditFacilityMember us-gaap:LineOfCreditMember 2023-02-28 0001699136 2023-02-28 2023-02-28 0001699136 srt:SubsidiariesMember us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember 2023-01-01 2023-09-30 0001699136 srt:SubsidiariesMember us-gaap:RevolvingCreditFacilityMember whd:SecuredOvernightFinancingRateMember 2023-01-01 2023-09-30 0001699136 srt:SubsidiariesMember srt:MinimumMember us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember 2023-01-01 2023-09-30 0001699136 srt:SubsidiariesMember srt:MaximumMember us-gaap:RevolvingCreditFacilityMember us-gaap:BaseRateMember 2023-01-01 2023-09-30 0001699136 srt:SubsidiariesMember srt:MinimumMember us-gaap:RevolvingCreditFacilityMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2023-01-01 2023-09-30 0001699136 srt:SubsidiariesMember srt:MaximumMember us-gaap:RevolvingCreditFacilityMember us-gaap:SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember 2023-01-01 2023-09-30 0001699136 srt:SubsidiariesMember srt:MinimumMember us-gaap:RevolvingCreditFacilityMember 2023-01-01 2023-09-30 0001699136 srt:SubsidiariesMember us-gaap:RevolvingCreditFacilityMember whd:CreditAgreementMember us-gaap:LineOfCreditMember 2023-09-30 0001699136 srt:SubsidiariesMember us-gaap:RevolvingCreditFacilityMember 2023-01-01 2023-09-30 0001699136 2018-02-01 2018-02-28 0001699136 2022-01-01 2022-12-31 0001699136 whd:CactusCompaniesMember 2023-01-01 2023-09-30 0001699136 whd:CactusLLCMember 2022-01-01 2022-12-31 0001699136 us-gaap:CommonClassAMember whd:AdditionalOfferingMember 2023-01-01 2023-01-31 0001699136 us-gaap:CommonClassAMember whd:AdditionalOfferingMember 2023-01-31 0001699136 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-01-31 0001699136 whd:KeyEmployeeMember whd:FlexSteelMember 2023-01-01 2023-09-30 0001699136 whd:KeyEmployeeMember whd:FlexSteelMember 2023-09-30 0001699136 whd:CactusCompaniesMember us-gaap:CommonClassBMember 2023-09-30 0001699136 us-gaap:CommonClassAMember whd:CCUnitsRedeemedForClassCommonStockMember 2023-09-30 0001699136 us-gaap:CommonClassAMember whd:CCUnitsRedeemedForClassCommonStockMember 2018-02-12 2023-09-30 0001699136 us-gaap:CommonClassAMember whd:March2021SecondaryOfferingMember 2023-01-01 2023-09-30 0001699136 us-gaap:CommonClassAMember whd:March2021SecondaryOfferingMember 2022-01-01 2022-09-30 0001699136 whd:ShareRepurchaseProgramMember 2023-06-06 0001699136 whd:ShareRepurchaseProgramMember us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001699136 whd:ShareRepurchaseProgramMember us-gaap:CommonStockMember 2023-09-30 0001699136 whd:CactusIncMember 2023-01-01 2023-09-30 0001699136 whd:CCUnitHoldersOtherThanCactusIncMember 2023-01-01 2023-09-30 0001699136 whd:CactusIncMember 2022-01-01 2022-09-30 0001699136 whd:CCUnitHoldersOtherThanCactusIncMember 2022-01-01 2022-09-30 0001699136 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember whd:EarnOutLiabilityMember 2023-09-30 0001699136 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember whd:EarnOutLiabilityMember 2023-09-30 0001699136 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember whd:EarnOutLiabilityMember 2023-09-30 0001699136 us-gaap:FairValueMeasurementsRecurringMember whd:EarnOutLiabilityMember 2023-09-30 0001699136 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember whd:PutOptionLiabilityMember 2023-09-30 0001699136 us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember whd:PutOptionLiabilityMember 2023-09-30 0001699136 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember whd:PutOptionLiabilityMember 2023-09-30 0001699136 us-gaap:FairValueMeasurementsRecurringMember whd:PutOptionLiabilityMember 2023-09-30 0001699136 srt:MinimumMember whd:EarnOutLiabilityMember us-gaap:MeasurementInputRiskFreeInterestRateMember 2023-09-30 0001699136 srt:MaximumMember whd:EarnOutLiabilityMember us-gaap:MeasurementInputRiskFreeInterestRateMember 2023-09-30 0001699136 whd:EarnOutLiabilityMember whd:MeasurementInputExpectedRevenueVolatilityMember 2023-09-30 0001699136 srt:MinimumMember whd:EarnOutLiabilityMember us-gaap:MeasurementInputDiscountRateMember 2023-09-30 0001699136 srt:MaximumMember whd:EarnOutLiabilityMember us-gaap:MeasurementInputDiscountRateMember 2023-09-30 0001699136 srt:MinimumMember whd:EarnOutLiabilityMember whd:CreditDiscountRateMember 2023-09-30 0001699136 srt:MaximumMember whd:EarnOutLiabilityMember whd:CreditDiscountRateMember 2023-09-30 0001699136 whd:PutOptionLiabilityMember us-gaap:MeasurementInputRiskFreeInterestRateMember 2023-09-30 0001699136 whd:PutOptionLiabilityMember us-gaap:MeasurementInputPriceVolatilityMember 2023-09-30 0001699136 whd:PutOptionLiabilityMember us-gaap:MeasurementInputExpectedDividendRateMember 2023-09-30 0001699136 us-gaap:FairValueInputsLevel3Member whd:EarnOutLiabilityMember 2022-12-31 0001699136 us-gaap:FairValueInputsLevel3Member whd:PutOptionLiabilityMember 2022-12-31 0001699136 us-gaap:FairValueInputsLevel3Member whd:EarnOutLiabilityMember 2023-01-01 2023-09-30 0001699136 us-gaap:FairValueInputsLevel3Member whd:PutOptionLiabilityMember 2023-01-01 2023-09-30 0001699136 us-gaap:FairValueInputsLevel3Member whd:EarnOutLiabilityMember 2023-09-30 0001699136 us-gaap:FairValueInputsLevel3Member whd:PutOptionLiabilityMember 2023-09-30 0001699136 whd:FlexSteelMember us-gaap:FairValueInputsLevel3Member whd:EarnOutLiabilityMember 2023-01-01 2023-03-31 0001699136 us-gaap:FairValueInputsLevel3Member whd:RemeasurementExpenseMember whd:PutOptionLiabilityMember 2023-01-01 2023-09-30 0001699136 us-gaap:FairValueInputsLevel2Member 2023-09-30 0001699136 2023-02-28 2023-09-30 0001699136 whd:PressureControlSegmentMember 2023-07-01 2023-09-30 0001699136 whd:PressureControlSegmentMember 2022-07-01 2022-09-30 0001699136 whd:PressureControlSegmentMember 2022-01-01 2022-09-30 0001699136 whd:SpoolableTechnologiesMember 2023-07-01 2023-09-30 0001699136 whd:SpoolableTechnologiesMember 2022-07-01 2022-09-30 0001699136 whd:SpoolableTechnologiesMember 2022-01-01 2022-09-30 0001699136 2023-01-01 2023-02-27 0001699136 us-gaap:CommonClassBMember 2023-07-01 2023-09-30 0001699136 us-gaap:CommonClassBMember 2022-07-01 2022-09-30 shares iso4217:USD iso4217:USD shares whd:segment pure 0001699136 --12-31 2023 Q3 false 1 10-Q true 2023-09-30 false 001-38390 Cactus, Inc. DE 35-2586106 920 Memorial City Way, Suite 300 77024 Houston, TX 713 626-8800 Class A Common Stock, par value $0.01 WHD NYSE Yes Yes Large Accelerated Filer false false false 65323129 14106469 63738000 344527000 3187000 1060000 206251000 138268000 203517000 161283000 19442000 10564000 492948000 654642000 345222000 129998000 19969000 23183000 183974000 0 200723000 7824000 211535000 301644000 9779000 1605000 1464150000 1118896000 65217000 47776000 60713000 30619000 18892000 0 20855000 27544000 7543000 5933000 4147000 4777000 177367000 116649000 1469000 1966000 250256000 265025000 9239000 6436000 15748000 18375000 454079000 408451000 0.01 0.01 10000000 10000000 0 0 0 0 0 0 0.01 0.01 300000000 300000000 65323000 65323000 60903000 60903000 654000 609000 0.01 0.01 215000000 215000000 14106000 14106000 14978000 14978000 0 0 462302000 310528000 359699000 261764000 -1647000 -984000 821008000 571917000 189063000 138528000 1010071000 710445000 1464150000 1118896000 214295000 121782000 605698000 328054000 28879000 27105000 84916000 73143000 44696000 35594000 131480000 99398000 287870000 184481000 822094000 500595000 123278000 73747000 373310000 203839000 15558000 16323000 48538000 46740000 36973000 27145000 103861000 78685000 29549000 15970000 97519000 44804000 5091000 0 -13053000 0 200267000 133185000 636281000 374068000 87603000 51296000 185813000 126527000 -1372000 1140000 -6298000 1344000 266000 1125000 3804000 10000 86497000 53561000 183319000 127881000 18478000 12041000 30553000 23498000 68019000 41520000 152766000 104383000 15439000 10095000 32542000 25198000 52580000 31425000 120224000 79185000 0.81 0.52 1.87 1.32 0.80 0.51 1.82 1.30 64879000 60665000 64399000 60164000 65486000 61106000 79632000 76296000 68019000 41520000 152766000 104383000 -670000 -1219000 -812000 -2150000 67349000 40301000 151954000 102233000 15319000 9795000 32393000 24673000 52030000 30506000 119561000 77560000 64609000 647000 14820000 0 446206000 315049000 -1096000 191968000 952774000 9214000 9214000 714000 7000 -714000 9753000 -9760000 0 2574000 -100000 2474000 -551000 -119000 -670000 3769000 849000 4618000 0.12 7930000 7930000 52580000 15439000 68019000 65323000 654000 14106000 0 462302000 359699000 -1647000 189063000 1010071000 60613000 606000 15263000 0 304418000 212913000 -698000 126569000 643808000 4659000 4659000 104000 1000 -104000 894000 -895000 0 -33000 -33000 2000 5000 -3000 2000 -919000 -300000 -1219000 2414000 604000 3018000 0.11 6787000 6787000 31425000 10095000 41520000 60719000 607000 15159000 0 307698000 237551000 -1617000 131411000 675650000 60903000 609000 14978000 0 310528000 261764000 -984000 138528000 710445000 3352000 34000 143302000 26033000 169369000 13926000 13926000 872000 9000 -872000 11773000 -11782000 0 -10979000 16726000 5747000 200000 2000 -3071000 -1371000 -4440000 -663000 -149000 -812000 4000 137000 22000 159000 10886000 2484000 13370000 0.34 22289000 22289000 120224000 32542000 152766000 65323000 654000 14106000 0 462302000 359699000 -1647000 189063000 1010071000 59035000 590000 16674000 0 289600000 178446000 8000 126389000 595033000 8007000 8007000 1515000 15000 -1515000 12039000 -12054000 0 2931000 2931000 169000 2000 -3258000 -1238000 -4494000 -1625000 -525000 -2150000 6386000 1648000 8034000 0.33 20080000 20080000 79185000 25198000 104383000 60719000 607000 15159000 0 307698000 237551000 -1617000 131411000 675650000 152766000 104383000 50180000 25991000 4187000 133000 13526000 8034000 2153000 224000 3569000 1642000 1999000 470000 -10723000 -19230000 12932000 0 3683000 10000 12637000 42906000 -45377000 45545000 7321000 4265000 2733000 20537000 2986000 3293000 -26890000 -11666000 248602000 78605000 616189000 0 33400000 21197000 4347000 1701000 -645242000 -19496000 155000000 0 155000000 0 169878000 0 6857000 165000 5579000 4505000 22266000 20015000 13926000 8007000 4599000 4495000 116651000 -37187000 -800000 -2968000 -280789000 18954000 344527000 301669000 63738000 320623000 19464000 3762000 5150000 801000 10210000 10707000 1758000 1582000 Preparation of Interim Financial Statements and Other Items<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The financial statements presented in this report represent the consolidation of Cactus, Inc. (“Cactus Inc.”) and its subsidiaries (the “Company”), including Cactus Companies, LLC (“Cactus Companies”). Cactus Inc. is a holding company whose only material asset is an equity interest consisting of units representing limited liability company interests in Cactus Companies (“CC Units”). Cactus Inc. is the sole managing member of Cactus Companies and operates and controls all of the business and affairs of Cactus Companies and conducts its business through Cactus Companies and its subsidiaries. As a result, Cactus Inc. consolidates the financial results of Cactus Companies and its subsidiaries and reports a non-controlling interest related to the portion of CC Units not owned by Cactus Inc., which reduces net income attributable to holders of Cactus Inc.’s Class A common stock, par value $0.01 per share (“Class A common stock”). Except as otherwise indicated or required by the context, all references to “Cactus,” “we,” “us” and “our” refer to Cactus Inc. and its consolidated subsidiaries.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 28, 2023, Cactus Inc. through one of its subsidiaries, completed the merger of the FlexSteel business (the “Merger”) through a merger with HighRidge Resources, Inc. and its subsidiaries (“HighRidge”). On February 27, 2023, in order to facilitate the Merger with HighRidge, an internal reorganization was completed in which Cactus Companies acquired all of the outstanding units representing ownership interests in Cactus Wellhead, LLC (“Cactus LLC”), the operating subsidiary of Cactus Inc. (the “CC Reorganization”). The purpose of the Merger was to effect the acquisition of the operations of FlexSteel Holdings, Inc. and its subsidiaries. FlexSteel Holdings, Inc. was a wholly-owned subsidiary of HighRidge prior to the Merger and was converted into a limited liability company, contributed from HighRidge to Cactus Companies as part of the CC Reorganization and is now named FlexSteel Holdings, LLC (“FlexSteel”). The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition through September 30, 2023. See Note 2 for additional information related to the acquisition.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Following the acquisition of FlexSteel, we now operate in two business segments: Pressure Control and Spoolable Technologies.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) for interim financial information. Accordingly, these consolidated financial statements do not include all information or notes required by generally accepted accounting principles for annual financial statements and should be read together with our Annual Report on Form 10-K for the year ended December 31, 2022.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements include all adjustments, which are of a normal recurring nature, unless otherwise disclosed, necessary for a fair statement of the consolidated financial statements for the interim periods. The results of operations for any interim period are not necessarily indicative of the results to be expected for the full year.</span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In preparing our consolidated financial statements in conformity with GAAP, we make numerous estimates and assumptions that affect the accounting for and recognition and disclosure of assets, liabilities, equity, revenues and expenses. We must make these estimates and assumptions because certain information that we use is dependent on future events, cannot be calculated with a high degree of precision from available data or is not otherwise capable of being readily calculated based on accepted methodologies. In some cases, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ materially from the estimates and assumptions that we use in the preparation of our consolidated financial statements.</span></div> <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The financial statements presented in this report represent the consolidation of Cactus, Inc. (“Cactus Inc.”) and its subsidiaries (the “Company”), including Cactus Companies, LLC (“Cactus Companies”). Cactus Inc. is a holding company whose only material asset is an equity interest consisting of units representing limited liability company interests in Cactus Companies (“CC Units”). Cactus Inc. is the sole managing member of Cactus Companies and operates and controls all of the business and affairs of Cactus Companies and conducts its business through Cactus Companies and its subsidiaries. As a result, Cactus Inc. consolidates the financial results of Cactus Companies and its subsidiaries and reports a non-controlling interest related to the portion of CC Units not owned by Cactus Inc., which reduces net income attributable to holders of Cactus Inc.’s Class A common stock, par value $0.01 per share (“Class A common stock”). Except as otherwise indicated or required by the context, all references to “Cactus,” “we,” “us” and “our” refer to Cactus Inc. and its consolidated subsidiaries.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 28, 2023, Cactus Inc. through one of its subsidiaries, completed the merger of the FlexSteel business (the “Merger”) through a merger with HighRidge Resources, Inc. and its subsidiaries (“HighRidge”). On February 27, 2023, in order to facilitate the Merger with HighRidge, an internal reorganization was completed in which Cactus Companies acquired all of the outstanding units representing ownership interests in Cactus Wellhead, LLC (“Cactus LLC”), the operating subsidiary of Cactus Inc. (the “CC Reorganization”). The purpose of the Merger was to effect the acquisition of the operations of FlexSteel Holdings, Inc. and its subsidiaries. FlexSteel Holdings, Inc. was a wholly-owned subsidiary of HighRidge prior to the Merger and was converted into a limited liability company, contributed from HighRidge to Cactus Companies as part of the CC Reorganization and is now named FlexSteel Holdings, LLC (“FlexSteel”). The results of operations of FlexSteel have been reflected in our accompanying condensed consolidated financial statements from the closing date of the acquisition through September 30, 2023. See Note 2 for additional information related to the acquisition.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Following the acquisition of FlexSteel, we now operate in two business segments: Pressure Control and Spoolable Technologies.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited condensed consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) for interim financial information. Accordingly, these consolidated financial statements do not include all information or notes required by generally accepted accounting principles for annual financial statements and should be read together with our Annual Report on Form 10-K for the year ended December 31, 2022.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The consolidated financial statements include all adjustments, which are of a normal recurring nature, unless otherwise disclosed, necessary for a fair statement of the consolidated financial statements for the interim periods. The results of operations for any interim period are not necessarily indicative of the results to be expected for the full year.</span></div> 0.01 2 <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In preparing our consolidated financial statements in conformity with GAAP, we make numerous estimates and assumptions that affect the accounting for and recognition and disclosure of assets, liabilities, equity, revenues and expenses. We must make these estimates and assumptions because certain information that we use is dependent on future events, cannot be calculated with a high degree of precision from available data or is not otherwise capable of being readily calculated based on accepted methodologies. In some cases, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ materially from the estimates and assumptions that we use in the preparation of our consolidated financial statements.</span></div> FlexSteel AcquisitionOn February 28, 2023 (the “acquisition date”), we completed the acquisition of FlexSteel in accordance with the terms and conditions of the merger agreement dated December 30, 2022. Including final adjustments for closing working capital, cash on hand and indebtedness adjustments as set forth in the merger agreement, we paid total cash consideration of $621.5 million. There is also a potential future earn-out payment of up to $75.0 million to be paid no later than the third quarter of 2024, if certain revenue growth targets are met by FlexSteel. We funded the upfront purchase price using a combination of $165.6 million of net <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">proceeds received from the public offering of shares of our Class A common stock completed in January 2023, borrowings under the Amended ABL Credit Facility (as defined in Note 7) totaling $155.0 million and available cash on hand at the time of closing.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We believe this acquisition enhances Cactus’ position as a premier manufacturer and provider of highly engineered equipment to the oil and gas exploration and production (“E&amp;P”) industry and provides meaningful growth potential for Cactus. We also believe FlexSteel’s products are highly complementary to Cactus’ equipment as it expands our exposure to our customers’ operations from production trees to transportation of oil, gas and other liquids as well as to additional customers operating in the midstream area. The acquisition is being accounted for using the acquisition method of accounting, with Cactus being treated as the accounting acquirer. Under the acquisition method of accounting, the assets and liabilities are recorded at their respective fair values as of the acquisition date. The transaction was treated as a purchase of stock for United States federal income tax purposes. In connection with the acquisition, we incurred approximately $7.5 million of transaction costs for the nine months ended September 30, 2023 required to effect the transaction and incurred an additional $4.4 million in costs related to the reporting of and accounting for the transaction. These fees primarily related to legal, accounting and consulting fees and are included in selling, general and administrative (“SG&amp;A”) expenses in the consolidated statements of income. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Purchase Price Consideration</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The final purchase price consideration for the acquisition is $627.5 million and is summarized as follows:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:82.808%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.274%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Purchase Price Consideration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash consideration</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">621,505 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Add: Contingent consideration </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of consideration transferred</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">627,465 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5.25pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Represents the estimated fair value as of the acquisition date of the earn-out payment of up to $75 million of additional cash consideration if certain revenue growth targets are met by FlexSteel. The estimated fair value of the earn-out payment was determined using a Monte Carlo simulation valuation methodology based on probability-weighted performance projections and other inputs, including a discount rate.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes in the fair value of the earn-out liability subsequent to the acquisition date are recognized in the consolidated statements of income. As of September 30, 2023, the estimated fair value of the earn-out payment increased to $18.9 million. The increase is based on the revised forecast for the period January 1, 2023 through June 30, 2024, reflecting improvements in FlexSteel’s revenues as compared to projections made at the time of the acquisition. See further discussion of the calculation of fair value of the earn-out liability in Note 12.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Preliminary Purchase Price Allocation</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides the preliminary allocation of the purchase price as of the acquisition date. The goodwill reflected below decreased $0.6 million from the original preliminary purchase price allocation as a result of measurement period adjustments, primarily related to changes in cash consideration upon finalization of the closing net working capital and the </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">resulting updates to deferred tax liabilities, partially offset by valuation adjustments to inventories and property and equipment.</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:82.808%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.274%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,316 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Receivables</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,747 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,746 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,283 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">208,955 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,021 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Identifiable intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,300 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets acquired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">572,034 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,789)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses and other current liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26,827)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease obligations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(974)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(906)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(93,972)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities assumed</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(137,468)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">434,566 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192,899 </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Assets acquired and liabilities assumed in connection with the acquisition were recorded at their estimated fair values. Estimated fair values were determined by management, based in part on an independent valuation performed by third-party valuation specialists. The valuation methods used to determine the estimated fair value of intangible assets included the excess earnings approach for customer relationships and backlog using customer inputs and contributory charges and the relief from royalty method for tradename and developed technology. Several significant assumptions and estimates were involved in the application of these valuation methods, including forecasted sales volumes and prices, royalty rates, costs to produce, tax rates, capital spending, discount rates, attrition rates and working capital changes. Cash flow forecasts were generally based on FlexSteel’s pre-acquisition forecasts. Identifiable intangible assets with finite lives are subject to amortization over their estimated useful lives. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair values determined for accounts receivable, accounts payable and most other current assets and liabilities, other than inventory, were equivalent to the carrying value due to their short-term nature. Acquired inventories are comprised of raw materials, work-in-progress and finished goods. The preliminary fair value of finished goods was calculated as the estimated selling price, less costs of the selling effort and a reasonable profit allowance relating to the selling effort. The preliminary fair value of work-in-progress was calculated as the estimated selling price, less costs to complete, less costs of the selling effort and a reasonable profit allowance on completion and selling costs. The preliminary fair value of raw materials was determined based on replacement cost which approximates historical carrying value. The preliminary fair value of identifiable fixed assets was calculated using a combination of valuation approaches, but primarily consisted of the cost approach which adjusts estimates of replacement cost for the age, condition and utility of the associated assets. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill is calculated as the excess of the purchase price over the estimated fair value of net assets acquired and represents the future economic benefits arising from other assets acquired that could not be individually identified and separately recognized. Among the factors that contributed to a purchase price in excess of the estimated fair value of the net tangible and intangible assets acquired were the acquisition of an assembled workforce, expansion opportunities and other benefits that we believe will result from combining the operations of FlexSteel with ours. Goodwill was further increased by the deferred tax liability associated with the fair market value in excess of the tax basis acquired. The goodwill associated with this transaction has been allocated to our Spoolable Technologies segment.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The purchase price allocation is preliminary and could be revised as a result of additional information obtained regarding assets acquired and liabilities assumed and revisions of preliminary estimates of fair values including, but not limited to, certain tangible assets acquired and liabilities assumed, contractual relationships, intangible assets, certain working capital items, deferred income taxes and residual goodwill. The purchase price allocation will be finalized within the measurement period of up to one year from the acquisition date.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Tax-related impacts</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As a result of the transaction, we acquired certain carryforward tax attributes. The Company’s current assessment is that some of these attributes should be accounted for as unrecognized tax benefits in the acquisition accounting. The unrecognized tax benefits have been offset by an indemnification asset from the seller of $5.7 million. The Company continues to evaluate the technical merits of the tax attributes, and the unrecognized tax benefit assessment is subject to change within the measurement period. Subsequent to completion of the acquisition, we determined that we expect to generate sufficient taxable income of the appropriate type to allow for the realization of the deferred tax asset associated with our investment in Cactus Companies and recognized a $12.1 million tax benefit in the first quarter of 2023 associated with the release of our valuation allowance previously provided. Additionally, we recognized $4.3 million of tax expense in the first quarter of 2023 associated with the revaluation of our deferred tax asset as a result of a change in our forecasted state rate primarily due to state impacts of the FlexSteel acquisition.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Pro forma financial information </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From acquisition date through September 30, 2023, FlexSteel produced revenue of $245.8 million and net income of $34.1 million. The pro forma financial information below represents the combined results of operations for the nine months ended September 30, 2023 and for the three and nine months ended September 30, 2022, as if the acquisition had occurred as of January 1, 2022. The unaudited pro forma combined financial information includes, where applicable, adjustments for additional amortization expense related to the fair value step-up of intangible assets, additional inventory fair value step-up expense, additional depreciation expense associated with adjusting property and equipment to fair value, changes to align accounting policies, decreases in interest expense due to modification of borrowings in conjunction with the acquisition and associated tax-related impacts of adjustments. These pro forma adjustments are based on available information as of the date hereof and upon assumptions that we believe are reasonable to reflect the impact of the FlexSteel acquisition on our historical financial information on a supplemental pro forma basis. Adjustments do not include the elimination of transaction-related costs incurred or any costs related to integration activities, cost savings or synergies that have been or may be achieved by the combined business. The unaudited pro forma financial information is presented for informational purposes only and is neither indicative of the results of operations that would have occurred if the acquisition had taken place at the beginning of the period presented nor indicative of future operating results.</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.675%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.805%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.402%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,855 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">875,473 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">765,847 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net Income attributable to Cactus, Inc.</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,885 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132,026 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83,224 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 621500000 75000000 165600000 155000000 7500000 4400000 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The final purchase price consideration for the acquisition is $627.5 million and is summarized as follows:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:82.808%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.274%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Purchase Price Consideration</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash consideration</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">621,505 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Add: Contingent consideration </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fair value of consideration transferred</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">627,465 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5.25pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Represents the estimated fair value as of the acquisition date of the earn-out payment of up to $75 million of additional cash consideration if certain revenue growth targets are met by FlexSteel. The estimated fair value of the earn-out payment was determined using a Monte Carlo simulation valuation methodology based on probability-weighted performance projections and other inputs, including a discount rate.</span></div> 627500000 621505000 5960000 627465000 75000000 18900000 The following table provides the preliminary allocation of the purchase price as of the acquisition date. The goodwill reflected below decreased $0.6 million from the original preliminary purchase price allocation as a result of measurement period adjustments, primarily related to changes in cash consideration upon finalization of the closing net working capital and the <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">resulting updates to deferred tax liabilities, partially offset by valuation adjustments to inventories and property and equipment.</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:82.808%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:14.274%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,316 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Receivables</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,747 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Inventories</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">91,746 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,283 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">208,955 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,021 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Identifiable intangible assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,300 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,666 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total assets acquired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">572,034 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(14,789)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses and other current liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(26,827)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease obligations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(974)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(906)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred tax liabilities</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(93,972)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total liabilities assumed</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(137,468)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net assets acquired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">434,566 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192,899 </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> -600000 5316000 57747000 91746000 1283000 208955000 1021000 200300000 5666000 572034000 14789000 26827000 974000 906000 93972000 137468000 434566000 192899000 5700000 -12100000 4300000 245800000 34100000 The unaudited pro forma financial information is presented for informational purposes only and is neither indicative of the results of operations that would have occurred if the acquisition had taken place at the beginning of the period presented nor indicative of future operating results.<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.675%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.805%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.402%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">274,855 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">875,473 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">765,847 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net Income attributable to Cactus, Inc.</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,885 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132,026 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">83,224 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 274855000 875473000 765847000 33885000 132026000 83224000 Accounts Receivable and Allowance for Credit Losses<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We extend credit to customers in the normal course of business. Our customers are predominantly oil and gas E&amp;P companies located in the U.S. Our receivables are short-term in nature and typically due in 30 to 60 days. We do not accrue interest on delinquent receivables. Accounts receivable includes amounts billed and currently due from customers and unbilled amounts for products delivered and services performed for which billings have not yet been submitted to the customers. Total unbilled revenue included in accounts receivable as of September 30, 2023 and December 31, 2022 was $36.6 million and $34.9 million, respectively.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We maintain an allowance for credit losses to provide for the amount of billed receivables we believe to be at risk of loss. In our determination of the allowance for credit losses, we pool receivables with similar risk characteristics based on customer size, credit ratings, payment history, bankruptcy status and other factors known to us and apply an expected credit loss percentage. The expected credit loss percentage is determined using historical loss data adjusted for current conditions and forecasts of future economic conditions. Accounts deemed uncollectible are applied against the allowance for credit losses. The following is a rollforward of our allowance for credit losses.</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.583%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.393%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at <br/>Beginning of<br/>Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Expense</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Write off</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Translation Adjustments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at <br/>End of<br/>Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2023</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,060 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,153 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,187 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2022</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">741 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">224 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(63)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">901 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 36600000 34900000 The following is a rollforward of our allowance for credit losses.<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:43.583%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.388%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.393%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at <br/>Beginning of<br/>Period</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Expense</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Write off</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Translation Adjustments</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Balance at <br/>End of<br/>Period</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2023</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,060 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,153 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(10)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,187 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Nine Months Ended September 30, 2022</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">741 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">224 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(63)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">901 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 1060000 2153000 16000 -10000 3187000 741000 224000 63000 -1000 901000 Inventories<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories are stated at the lower of cost or net realizable value. Cost is determined using standard cost (which approximates average cost). Costs include an application of related material, direct labor, duties, tariffs, freight and overhead costs. Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal and transportation. Reserves are made for excess and obsolete items based on a range of factors, including age, usage and technological or market changes that may impact demand for those products. Inventories consist of the following:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.181%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,144 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,150 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,444 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168,873 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152,689 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">203,517 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">161,283 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> Inventories consist of the following:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.181%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,144 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,150 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-progress</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,500 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,444 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">168,873 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152,689 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">203,517 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">161,283 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 23144000 3150000 11500000 5444000 168873000 152689000 203517000 161283000 Property and Equipment, net<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment are stated at cost. We manufacture or construct most of our Pressure Control rental equipment assets. During the manufacture of these assets, they are reflected as construction in progress until complete. Property and equipment consists of the following:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.181%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Land</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,442 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,302 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Buildings and improvements</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,480 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Machinery and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,701 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,883 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reels and skids</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vehicles</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,319 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,045 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rental equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">215,581 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">194,088 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture and fixtures</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,905 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,759 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computers and software</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,889 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,068 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross property and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">550,825 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">316,625 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated depreciation</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(222,998)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(200,573)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net property and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">327,827 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,052 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Construction in progress</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,395 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,946 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total property and equipment, net</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">345,222 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,998 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> Property and equipment consists of the following:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:73.181%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.401%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"></span></div></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30,<br/>2023</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31,<br/>2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Land</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,442 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,302 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Buildings and improvements</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131,960 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,480 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Machinery and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,701 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">57,883 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Reels and skids</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,028 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Vehicles</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,319 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29,045 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rental equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">215,581 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">194,088 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture and fixtures</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,905 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,759 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computers and software</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,889 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,068 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Gross property and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">550,825 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">316,625 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated depreciation</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(222,998)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(200,573)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net property and equipment</span></div></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">327,827 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">116,052 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Construction in progress</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,395 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,946 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:11.25pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total property and equipment, net</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">345,222 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">129,998 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 16442000 5302000 131960000 25480000 127701000 57883000 18028000 0 35319000 29045000 215581000 194088000 1905000 1759000 3889000 3068000 550825000 316625000 222998000 200573000 327827000 116052000 17395000 13946000 345222000 129998000 Goodwill and Other Intangible Assets<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of purchase price paid over the fair value of the net assets of acquired businesses. Goodwill is not amortized, but we evaluate at least annually whether it is impaired. Goodwill is considered impaired if the carrying amount of the reporting unit exceeds its estimated fair value. We conduct our annual assessment of the recoverability of goodwill as of December 31 of each year and more frequently if events and circumstances indicate that goodwill might be impaired. The change in carrying value of goodwill allocated to our reportable segments during the nine months ended September 30, 2023 was as follows:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:57.828%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.848%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Pressure Control</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Spoolable Technologies</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,824 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,824 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">FlexSteel acquisition</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at September 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,824 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192,899 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,723 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the detail of acquired intangible assets other than goodwill as of September 30, 2023:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:57.828%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.848%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross Cost</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net Cost</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,300 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,901)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,399 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,492)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72,508 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tradename</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(933)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,067 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,300 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,326)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183,974 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">All intangible assets are amortized over their estimated useful lives. The weighted average amortization period for identifiable intangible assets acquired is 12 years. Amortization expense recognized during the three and nine months ended September 30, 2023 was $4.0 million and $16.3 million, respectively, and was recorded in SG&amp;A expenses in the consolidated statements of income. Estimated future amortization expense is as follows:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:85.209%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.847%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,997 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,042 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183,974 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> The change in carrying value of goodwill allocated to our reportable segments during the nine months ended September 30, 2023 was as follows:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:57.828%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.848%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Pressure Control</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Spoolable Technologies</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at December 31, 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,824 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,824 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">FlexSteel acquisition</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192,899 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td><td colspan="3" style="display:none"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at September 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,824 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192,899 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,723 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 7824000 0 7824000 0 192899000 192899000 7824000 192899000 200723000 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents the detail of acquired intangible assets other than goodwill as of September 30, 2023:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:57.828%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.848%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Gross Cost</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Accumulated Amortization</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Net Cost</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,300 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,901)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">96,399 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Developed technology</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,492)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">72,508 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Tradename</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,000 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(933)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,067 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Backlog</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,000 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,000)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,300 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,326)</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183,974 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 100300000 3901000 96399000 77000000 4492000 72508000 16000000 933000 15067000 7000000 7000000 0 200300000 16326000 183974000 P12Y 4000000 16300000 Estimated future amortization expense is as follows:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:85.209%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.847%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Remainder of 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,997 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,987 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100,042 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183,974 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table> 3997000 15987000 15987000 15987000 15987000 15987000 100042000 183974000 Debt<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We had no debt outstanding as of September 30, 2023 and December 31, 2022. We had $1.5 million in letters of credit outstanding as of September 30, 2023. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2018, Cactus LLC entered into a five-year senior secured asset-based revolving credit facility with a syndicate of lenders and JPMorgan Chase Bank, N.A., as administrative agent for such lenders and as an issuing bank and swingline lender (the “ABL Credit Facility”). The ABL Credit Facility was first amended in September 2020 and provided for up to $75.0 million in revolving commitments. On July 25, 2022, the ABL Credit Facility was amended again for up to $80.0 million in revolving commitments, up to $15.0 million of which was available for the issuance of letters of credit.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On February 28, 2023, in connection with the Merger, Cactus Companies assumed the rights and obligations of Cactus LLC as Borrower under the ABL Credit Facility, and the ABL Credit Facility was amended and restated in its entirety (the “Amended ABL Credit Facility”). The Amended ABL Credit Facility provides for a term loan of $125.0 million and up to $225.0 million in revolving commitments, of which $20.0 million is available for the issuance of letters of credit. Subject to certain terms and conditions set forth in the Amended ABL Credit Facility, Cactus Companies may request additional revolving commitments in an amount not to exceed $50.0 million, for a total of up to $275.0 million in revolving commitments. The term loan under the Amended ABL Credit Facility was set to mature on February 27, 2026 and any revolving loans under the Amended ABL Credit Facility mature on July 26, 2027. The maximum amount that Cactus Companies may borrow under the Amended ABL Credit Facility is subject to a borrowing base, which is based on a percentage of eligible accounts receivable and eligible inventory, subject to reserves and other adjustments.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We borrowed the full $125.0 million term loan amount and $30.0 million as a revolving loan at closing of the Amended ABL Credit Facility to fund a portion of the Merger. The term loan was required to be repaid in regular set amounts starting July 1, 2023 as set forth in the amortization schedule in the Amended ABL Credit Facility and could be prepaid without the payment of any prepayment premium (other than customary breakage costs for Term Benchmark (as defined below) borrowings). We began making discretionary prepayments on the term loan in April 2023 and continued to make payments until the entire $155.0 million we borrowed was repaid in July 2023.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Borrowings under the Amended ABL Credit Facility bear interest at Cactus Companies’ option at either (i) the Alternate Base Rate (as defined therein) (“ABR”), or (ii) the Adjusted Term SOFR Rate (as defined therein) (“Term Benchmark”), plus, in </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">each case, an applicable margin. Letters of credit issued under the Amended ABL Credit Facility accrue fees at a rate equal to the applicable margin for Term Benchmark borrowings. The applicable margin is 2.50% per annum for term loan ABR borrowings and 3.50% per annum for term loan Term Benchmark borrowings. The applicable margin for revolving loan borrowings ranges from 0.0% to 0.5% per annum for revolving loan ABR borrowings and 1.25% to 1.75% per annum for revolving loan Term Benchmark borrowings and, in each case, is based on the average quarterly availability of the revolving loan commitment under the Amended ABL Credit Facility for the immediately preceding fiscal quarter. The unused portion of revolving commitment under the Amended ABL Credit Facility is subject to a commitment fee of 0.25% per annum. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Amended ABL Credit Facility contains various covenants and restrictive provisions that limit Cactus Companies’ and each of its subsidiaries’ ability to, among other things, incur additional indebtedness and create liens, make investments or loans, merge or consolidate with other companies, sell assets, make certain restricted payments and distributions, and engage in transactions with affiliates. The obligations under the Amended ABL Credit Facility are guaranteed by certain subsidiaries of Cactus Companies and secured by a security interest in accounts receivable, inventory, equipment and certain other real and personal property assets of Cactus Companies and the guarantors. Until the term loan was paid in full, the Amended ABL Credit Facility required Cactus Companies to maintain a leverage ratio no greater than 2.50 to 1.00 based on the ratio of Total Indebtedness (as defined therein) to EBITDA (as defined therein). The Amended ABL Credit Facility requires Cactus Companies to maintain a minimum fixed charge coverage ratio of 1.00 to 1.00 based on the ratio of EBITDA (as defined therein) minus Unfinanced Capital Expenditures (as defined therein) to Fixed Charges (as defined therein) during certain periods, including when availability under the Amended ABL Credit Facility is under certain levels. If Cactus Companies fails to perform its obligations under the Amended ABL Credit Facility, (i) the revolving commitments under the Amended ABL Credit Facility could be terminated, (ii) any outstanding borrowings under the Amended ABL Credit Facility may be declared immediately due and payable, and (iii) the lenders may commence foreclosure or other actions against the collateral. We were in compliance with all covenants under the Amended ABL Credit Facility as of September 30, 2023.</span></div> 0 1500000 P5Y 75000000 80000000 15000000 125000000 225000000 20000000 50000000 275000000 125000000 30000000 155000000 0.0250 0.0350 0.000 0.005 0.0125 0.0175 0.0025 2.50 1.00 Revenue<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The majority of our revenues are derived from short-term contracts for fixed consideration or in the case of rentals, for a fixed charge per day plus repairs while the equipment is in use by the customer. Product sales generally do not include right of return or other significant post-delivery obligations. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Revenues are recognized when we satisfy a performance obligation by transferring control of the promised goods or providing services to our customers at a point in time, in an amount specified in the contract with our customer and that reflects the consideration to which we expect to be entitled in exchange for those goods or services. The majority of our contracts with customers contain a single performance obligation to provide agreed upon products or services. For contracts with multiple performance obligations, we allocate revenue to each performance obligation based on its relative standalone selling price. We do not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract with the customer. We do not incur any material costs of obtaining contracts.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We do not adjust the amount of consideration per the contract for the effects of a significant financing component when we expect, at contract inception, that the period between the transfer of a promised good or service to a customer and when the customer pays for that good or service will be one year or less, which is in substantially all cases. Payment terms and conditions vary, although terms generally include a requirement of payment within 30 to 60 days of invoicing. Revenues are recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. We treat shipping and handling associated with outbound freight as a fulfillment cost instead of as a separate performance obligation. We recognize the cost for the associated shipping and handling when incurred as an expense in cost of sales.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We disaggregate revenue into three categories: product revenues, rental revenues and field service and other revenues. We have predominately domestic operations with a small amount of sales in Australia, Canada, the Middle East and other international markets. The following table presents our revenues disaggregated by category:</span><span style="font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"></span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:25.193%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.940%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.940%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.662%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.940%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.945%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"></span></div></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"></span></div></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="12" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product revenue</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">214,295 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121,782 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">605,698 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">328,054 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rental revenue</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,879 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,105 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,916 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,143 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Field service and other revenue</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,696 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,594 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131,480 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99,398 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,870 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">184,481 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">822,094 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">500,595 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div>At September 30, 2023, we had a deferred revenue balance of $8.6 million compared to the December 31, 2022 balance of $1.5 million. Deferred revenue represents our obligation to transfer products to or perform services for a customer for which we have received cash or billed in advance. The revenue that has been deferred will be recognized upon product delivery or as services are performed. As of September 30, 2023, we did not have any contracts with an original length of greater than a year from which revenue is expected to be recognized in the future related to performance obligations that are unsatisfied. The following table presents our revenues disaggregated by category:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:25.193%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.940%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.940%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.662%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.940%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.101%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.945%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"></span></div></td><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="24" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:11pt;font-weight:400;line-height:120%"></span></div></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="12" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Product revenue</span></div></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">214,295 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">121,782 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">66 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">605,698 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">328,054 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Rental revenue</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28,879 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27,105 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">84,916 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">73,143 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Field service and other revenue</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,696 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">35,594 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">131,480 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">99,398 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Total revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,870 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">184,481 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">822,094 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">500,595 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">100 </span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table> 214295000 0.74 121782000 0.66 605698000 0.74 328054000 0.65 28879000 0.10 27105000 0.15 84916000 0.10 73143000 0.15 44696000 0.16 35594000 0.19 131480000 0.16 99398000 0.20 287870000 1 184481000 1 822094000 1 500595000 1 8600000 1500000 <span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:10.5pt">Tax Receivable Agreement (</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">“</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">TRA</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">”</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">)</span><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with our initial public offering (“IPO”) in February 2018, we entered into the TRA which generally provides for payment by Cactus Inc. to certain direct and indirect owners of Cactus LLC (after the CC Reorganization, Cactus Companies) of 85% of the net cash savings, if any, in U.S. federal, state and local income tax and franchise tax that Cactus Inc. actually realizes or is deemed to realize in certain circumstances. Cactus Inc. will retain the benefit of the remaining 15% of these net cash savings.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The TRA liability is calculated by determining the tax basis subject to the TRA (“tax basis”) and applying a blended tax rate to the basis differences and calculating the resulting iterative impact. The blended tax rate consists of the U.S. federal income tax rate and an assumed combined state and local income tax rate driven by the apportionment factors applicable to each state. Subsequent changes to the measurement of the TRA liability are recognized in the statements of income as a component of other expense, net. After finalizing its 2022 federal tax return in September 2023, Cactus Inc. made a $26.9 million TRA payment, which is equal to 85% of the $31.6 million 2022 tax benefit resulting from the exchange of CC Units for shares of Class A common stock. In September 2022, Cactus Inc. made an $11.7 million TRA payment based on its 2021 federal tax return. As of September 30, 2023, the total liability from the TRA was $271.1 million with $20.9 million reflected in current liabilities based on the expected timing of our next payment. The payments under the TRA will not be conditional on a holder of rights under the TRA having a continued ownership interest in either Cactus Companies or Cactus Inc.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The term of the TRA commenced upon completion of our IPO and will continue until all tax benefits that are subject to the TRA have been utilized or expired, unless we exercise our right to terminate the TRA. If we elect to terminate the TRA early (or it is terminated early due to certain mergers, asset sales, other forms of business combinations or other changes of control), our obligations under the TRA would accelerate and we would be required to make an immediate payment equal to the present value of the anticipated future payments to be made by us under the TRA and such payment is expected to be substantial. The calculation of anticipated future payments will be based upon certain assumptions and deemed events set forth in the TRA, including the assumptions that (i) we have sufficient taxable income to fully utilize the tax benefits covered by the TRA and (ii) any CC Units (other than those held by Cactus Inc.) outstanding on the termination date are deemed to be redeemed on the termination date. Any early termination payment may be made significantly in advance of the actual realization, if any, of the future tax benefits to which the termination payment relates.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We may elect to defer payments due under the TRA if we do not have available cash to satisfy our payment obligations under the TRA. Any such deferred payments under the TRA generally will accrue interest from the due date for such payment until the payment date.</span></div> 0.85 0.15 26900000 0.85 -31600000 11700000 271100000 20900000 Equity<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2023, Cactus Inc. owned 82.2% of Cactus Companies as compared to 80.3% of Cactus LLC (prior to the CC Reorganization) as of December 31, 2022. As of September 30, 2023, Cactus Inc. had outstanding 65.3 million shares of Class A common stock (representing 82.2% of the total voting power) and 14.1 million shares of Class B common stock (representing 17.8% of the total voting power).</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Equity Offering</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2023, Cactus Inc. completed an underwritten offering of 3,224,300 shares of Class A common stock at a price to the underwriters of $51.36 per share for net proceeds of $165.6 million (net of $6.9 million of underwriting discounts and commissions). In addition to the underwriting discounts and commissions, approximately $2.2 million of costs directly associated with the stock issuance were recorded as a reduction to additional paid-in capital.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">FlexSteel Acquisition</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In conjunction with the FlexSteel acquisition, a restricted stock award of 128,150 shares of Class A common stock was issued under the Company’s long-term incentive plan to a key employee in exchange for cash consideration of $6.5 million. The shares </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">are restricted from sale or trading and are subject to vesting requirements for one year from grant date. If the fair market value of the restricted shares is below the purchase price upon vesting, Cactus will compensate the key employee for the difference in price plus a gross-up for taxes. We are accounting for this guaranteed payment as stock compensation with liability classification and remeasure the liability to fair value at each reporting period. Compensation cost is being recognized ratably over the one-year vesting period. The liability balance is $0.7 million as of September 30, 2023 and is included in accrued expenses and other current liabilities in the consolidated balance sheets. We recognized $0.2 million of compensation expense in SG&amp;A in the consolidated statements of income during the nine months ended September 30, 2023.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">CC Reorganization</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As part of the CC Reorganization in connection with the acquisition of FlexSteel, Cactus Companies acquired all of the outstanding units representing limited liability company interests of Cactus LLC ( “CW Units”) in exchange for an equal number of CC Units issued to each of the previous owners of CW Units other than Cactus Inc. (the “CW Unit Holders”). Upon the completion of the CC Reorganization, CW Unit Holders ceased to be holders of CW Units and, instead, became holders of a number of CC Units equal to the number of CW Units such CW Unit Holders held immediately prior to the completion of the CC Reorganization. After the CC Reorganization, we refer to the owners of CC Units, other than Cactus Inc. (along with their permitted transferees), as “CC Unit Holders.” Following the completion of the CC Reorganization, CC Unit Holders own one share of our Class B Common Stock for each CC Unit such CC Unit Holder owns.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In connection with the CC Reorganization, Cactus Inc. and the owners of CC Units entered into the Amended and Restated Limited Liability Company Operating Agreement of Cactus Companies (the “Cactus Companies LLC Agreement”), which contains substantially the same terms and conditions as the Second Amended and Restated Limited Liability Company Operating Agreement of Cactus LLC (the “Cactus Wellhead LLC Agreement”), which was the limited liability company operating agreement of Cactus LLC prior to the CC Reorganization. Cactus Inc. was responsible for all operational, management and administrative decisions relating to Cactus LLC’s business for the period from completion of our IPO until the CC Reorganization and relating to Cactus Companies’ business for periods after the CC Reorganization. Pursuant to the Cactus Companies LLC Agreement, each holder of CC Units has, subject to certain limitations, the right to cause Cactus Companies to acquire all or at least a minimum portion of its CC Units for, at Cactus Companies’ election, (x) shares of our Class A common stock at a redemption ratio of one share of Class A common stock for each CC Unit redeemed, subject to conversion rate adjustments for stock splits, stock dividends and reclassification and other similar transactions, or (y) an equivalent amount of cash. Alternatively, upon the exercise of such redemption right, Cactus Inc. (instead of Cactus Companies) has the right to acquire each tendered CC Unit directly from the exchanging CC Unit Holder for, at its election, (x) one share of Class A common stock, subject to conversion rate adjustments for stock splits, stock dividends and reclassifications and other similar transactions, or (y) an equivalent amount of cash. In connection with any redemption of CC Units pursuant to such redemption right or our alternative right to acquire each tendered CC Unit, the corresponding number of shares of Class B common stock would be canceled.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Redemptions of CC Units</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the Cactus Companies LLC Agreement, holders of CC Units are entitled to redeem their CC Units, which results in additional Class A common stock outstanding. Since our IPO in February 2018, an aggregate of 46.5 million of CC Units (including CW Units prior to the CC Reorganization) and a corresponding number of shares of Class B common stock have been redeemed in exchange for shares of Class A common stock. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">During the nine months ended September 30, 2023, 0.9 million CC Units, together with a corresponding number of shares of Class B common stock, were redeemed in exchange for Class A common stock in accordance with the Cactus Companies LLC Agreement. During the nine months ended September 30, 2022, 1.5 million CW Units, together with a corresponding number of shares of Class B common stock, were redeemed in exchange for Class A common stock in accordance with the Cactus Wellhead LLC Agreement. There was no change in the combined number of Cactus Inc. voting shares outstanding as a result of the redemptions.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Dividends</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Aggregate cash dividends of $0.34 per share of Class A common stock declared during the nine months ended September 30, 2023 totaled $22.3 million compared to $0.33 per share of Class A common stock and $20.1 million during the nine months ended September 30, 2022. Cash dividends paid during the nine months ended September 30, 2023 and 2022 totaled $22.3 million and $20.0 million, respectively. Dividends accrue on unvested equity-based awards on the date of record and are paid upon vesting. Dividends are not paid to our Class B common stockholders; however, a corresponding distribution up to the same </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">amount per share as our Class A common stockholders is paid to the owners of CC Units other than Cactus Inc. for any dividends declared on our Class A common stock. See further discussion of the distributions below under “Member Distributions.”</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Share Repurchase Program</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On June 6, 2023, our board of directors authorized the Company to repurchase shares of its Class A common stock for an aggregate purchase price of up to $150 million. Under our share repurchase program, shares may be repurchased from time to time in open market transactions or block trades, in privately negotiated transactions or any other method permitted under U.S. securities laws, rules and regulations. The repurchase program does not obligate the Company to purchase any particular amount of shares, and the repurchase program may be suspended or discontinued at any time at the Company’s discretion. During the nine months ended September 30, 2023, the Company purchased and retired 4,007 shares of Class A common stock for $0.2 million or $39.69 average price per share excluding commissions, under the share repurchase program. As of September 30, 2023, $149.8 million remained authorized for future repurchases of Class A common stock under the program.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Member Distributions</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Distributions made by Cactus Companies are generally required to be made pro rata among all its members. For the nine months ended September 30, 2023, Cactus Companies distributed $63.1 million to Cactus Inc. to fund its dividend, TRA and estimated tax payments and made pro rata distributions to the other members totaling $13.9 million over the same period. During the nine months ended September 30, 2022, Cactus Companies distributed $31.7 million to Cactus Inc. to fund its dividend, TRA and estimated payments and made pro rata distributions to the other members totaling $8.0 million.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Limitation of Members’ Liability</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the terms of the Cactus Companies LLC Agreement, the members of Cactus Companies are not obligated for debt, liabilities, contracts or other obligations of Cactus Companies. Profits and losses are allocated to members as defined in the Cactus Companies LLC Agreement.</span></div> 0.822 0.803 65300000 0.822 14100000 0.178 3224300 51.36 165600000 6900000 2200000 128150 6500000 P1Y P1Y 700000 200000 1 1 1 46500000 900000 1500000 0.34 22300000 0.33 20100000 22300000 20000000 150000000 4007 200000 39.69 149800000 63100000 13900000 31700000 8000000 Commitments and ContingenciesWe are involved in various disputes arising in the ordinary course of business. Management does not believe the outcome of these disputes will have a material adverse effect on our consolidated financial position or consolidated results of operations. Fair Value Measurements<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Authoritative guidance on fair value measurements provides a framework for measuring fair value and establishes a fair value hierarchy that prioritizes the inputs used to measure fair value, giving the highest priority to unadjusted quoted prices in active markets for identical assets or liabilities (Level 1 inputs) and the lowest priority to unobservable inputs (Level 3 inputs). The carrying value of cash and cash equivalents, receivables, accounts payable and accrued expenses approximates fair value based on the short-term nature of these accounts.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth our liabilities that are measured at fair value on a recurring basis by level within the fair value hierarchy:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:44.882%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.848%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value at September 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Earn-out liability</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,892 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,892 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Put option liability</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">777 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">777 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The earn-out liability related to the FlexSteel acquisition (see Note 2) is measured at fair value using Level 3 unobservable inputs at the end of each reporting period with changes in its estimated fair value recorded in earnings until the liability is settled. The fair value is determined based on the evaluation of the probability and amount of earn-out that may be achieved based on expected future performance of FlexSteel using a Monte Carlo simulation model. The Monte Carlo simulation model uses assumptions including revenue volatilities, risk free rates, credit discount rates and revenue discount rates. Significant changes in any of those assumptions could have a material effect on the estimated fair value of the earn-out payment. The following table </span></div><div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">sets forth the range of inputs for the significant assumptions utilized to determine the fair value of the earn-out payment as of September 30, 2023:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:81.340%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.895%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.60%</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">to</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.63%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected revenue volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25.20%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue discount rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.88%</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">to</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.92%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Credit discount rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.90%</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">to</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.00%</span></td></tr></table></div><div style="margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The put option liability represents the guaranteed payment on restricted stock purchased in conjunction with the FlexSteel acquisition (see Note 10). This liability is measured at fair value at the end of each reporting period until the liability is settled with changes in fair value from grant date recognized ratably over the one-year vesting period. The fair value is determined using the Black-Scholes option pricing method that utilizes a selected volatility calculated based on weighting historical and implied volatility indications. As the selected volatility involves judgement and is a significant input to estimating the fair value of the put option, it is classified as a Level 3 input. Significant changes in the volatility could have a material effect on the estimated fair value of the put option liability. The following table sets forth the inputs for the significant assumptions utilized to determine the fair value of the put option liability as of September 30, 2023:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:80.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.162%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.46%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39.27%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.95%</span></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a summary of the changes in fair value of our liabilities measured using Level 3 inputs:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:71.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.847%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Earn-out</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Put Option</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Opening Balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,960 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">510 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in fair value </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,932 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at September 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,892 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">777 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.15pt;font-weight:400;line-height:120%;position:relative;top:-3.85pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">We recognized $12.9 million of remeasurement expense associated with the change in the fair value of the earn-out liability during the nine months ended September 30, 2023. During the three months ended March 31, 2023, a $0.1 million gain was recognized in other income, net in the consolidated statements of operations. After the first quarter of 2023, the change in fair value of the earn-out liability is being presented separately as a component of operating income with $13.1 million of expense recognized during the six months ended September 30, 2023. For the put option liability, we recognized $0.2 million of expense associated with the change in fair value in SG&amp;A in the consolidated statements of income during the nine months ended September 30, 2023.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The fair value of our foreign currency forwards was less than $0.1 million as of September 30, 2023 and was determined using market observable inputs including forward and spot prices (Level 2 inputs).</span></div> <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth our liabilities that are measured at fair value on a recurring basis by level within the fair value hierarchy:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:44.882%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.848%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Fair Value at September 30, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Earn-out liability</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,892 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,892 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Put option liability</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">777 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">777 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 0 0 18892000 18892000 0 0 777000 777000 The following table <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">sets forth the range of inputs for the significant assumptions utilized to determine the fair value of the earn-out payment as of September 30, 2023:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:81.340%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:2.627%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:5.895%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.60%</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">to</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.63%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected revenue volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25.20%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenue discount rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.88%</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">to</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.92%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Credit discount rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10.90%</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">to</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.00%</span></td></tr></table></div>The following table sets forth the inputs for the significant assumptions utilized to determine the fair value of the put option liability as of September 30, 2023:<table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:80.894%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:16.162%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30, 2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Risk-free interest rate</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5.46%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Expected volatility</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39.27%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Dividend yield</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.95%</span></td></tr></table> 0.0560 0.0563 0.2520 0.1088 0.1092 0.1090 0.1100 0.0546 0.3927 0.0095 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents a summary of the changes in fair value of our liabilities measured using Level 3 inputs:</span></div><div style="margin-top:3pt;text-indent:18pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.551%"><tr><td style="width:1.0%"></td><td style="width:71.519%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.846%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.544%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.847%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Earn-out</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Put Option</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Opening Balance</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,960 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">510 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in fair value </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,932 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">267 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Balance at September 30, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,892 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">777 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7.15pt;font-weight:400;line-height:120%;position:relative;top:-3.85pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">We recognized $12.9 million of remeasurement expense associated with the change in the fair value of the earn-out liability during the nine months ended September 30, 2023. During the three months ended March 31, 2023, a $0.1 million gain was recognized in other income, net in the consolidated statements of operations. After the first quarter of 2023, the change in fair value of the earn-out liability is being presented separately as a component of operating income with $13.1 million of expense recognized during the six months ended September 30, 2023. For the put option liability, we recognized $0.2 million of expense associated with the change in fair value in SG&amp;A in the consolidated statements of income during the nine months ended September 30, 2023.</span></div> 5960000 510000 12932000 267000 18892000 777000 12900000 100000 -13100000 200000 100000 Segment Reporting<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to the acquisition of FlexSteel, we operated in a single segment which reflected how our business was managed and the nature of our products and services. Upon completion of the acquisition, we re-evaluated our reportable segments and now report two business segments. Our business segments offer different products and services and correspond to the manner in which our chief operating decision maker reviews and evaluates operating performance to make decisions about resources to be allocated to each segment.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our reporting segments are:</span></div><div style="margin-top:5.25pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Pressure Control – engaged in the design, manufacture, sale, installation and service of wellhead and pressure control equipment utilized during the drilling, completion and production phases of oil and gas wells. </span></div><div style="margin-top:5.25pt;padding-left:36pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Spoolable Technologies – engaged in the design, manufacture, sale, installation, service and associated rental of onshore spoolable pipe technologies utilized for production, gathering and takeaway transportation of oil, gas or other liquids.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial information by business segment for the three and nine months ended September 30, 2023 and 2022 is summarized below.</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:48.612%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.250%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.254%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Revenue:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pressure Control</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">182,484 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">184,481 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">576,273 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">500,595 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Spoolable Technologies</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,386 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">245,821 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,870 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">184,481 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">822,094 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">500,595 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating income:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pressure Control </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,830 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,296 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">151,809 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,527 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Spoolable Technologies</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,773 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,603 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,296 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">185,813 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,527 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income (expense), net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,372)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,140 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,298)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,344 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">266 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,125 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,804 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86,497 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,561 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183,319 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,881 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5.25pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt">Includes corporate and other costs not directly attributable to our reporting segments such as corporate executive management and other administrative functions.</span></div> 2 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial information by business segment for the three and nine months ended September 30, 2023 and 2022 is summarized below.</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:48.612%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.250%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.254%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Revenue:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pressure Control</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">182,484 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">184,481 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">576,273 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">500,595 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Spoolable Technologies</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">105,386 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">245,821 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">287,870 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">184,481 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">822,094 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">500,595 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating income:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Pressure Control </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,830 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,296 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">151,809 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,527 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Spoolable Technologies</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,773 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34,004 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total operating income</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">87,603 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,296 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">185,813 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126,527 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest income (expense), net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,372)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,140 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,298)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,344 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other income, net</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">266 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,125 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,804 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Income before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">86,497 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">53,561 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">183,319 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127,881 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5.25pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt">Includes corporate and other costs not directly attributable to our reporting segments such as corporate executive management and other administrative functions.</span></div> 182484000 184481000 576273000 500595000 105386000 0 245821000 0 287870000 184481000 822094000 500595000 47830000 51296000 151809000 126527000 39773000 0 34004000 0 87603000 51296000 185813000 126527000 -1372000 1140000 -6298000 1344000 266000 1125000 3804000 10000 86497000 53561000 183319000 127881000 Earnings per Share<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during the period by the weighted average number of shares of Class A common stock outstanding during the same period. Diluted earnings per share of Class A common stock is calculated by dividing the net income attributable to Cactus Inc. during that period by the weighted average number of common shares outstanding assuming all potentially dilutive shares were issued.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We use the if-converted method to determine the potential dilutive effect of outstanding CC Units (and corresponding shares of outstanding Class B common stock), the treasury stock method to determine the potential dilutive effect of unvested restricted stock units assuming that the proceeds will be used to purchase shares of Class A common stock and the contingently issuable share method to determine the potential dilutive effect of unvested performance stock units. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the basic and diluted earnings per share calculations:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.032%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.402%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"></span></div></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%"></span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Numerator:</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to Cactus Inc.—basic</span></div></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,580 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,425 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120,224 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,185 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to non-controlling interest </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,874 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,686 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to Cactus Inc.—diluted</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"> (1)</span></div></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,580 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,425 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145,098 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,871 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Denominator:</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average Class A shares outstanding—basic</span></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,879 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,665 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,399 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,164 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effect of dilutive shares </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">607 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">441 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,233 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,132 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average Class A shares outstanding—diluted </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,486 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,106 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,632 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,296 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"></span></div></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Earnings per Class A share—basic</span></div></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.81 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.52 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.87 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.32 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Earnings per Class A share—diluted </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)(2)</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.80 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.51 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.82 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.30 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:4.25pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt">The numerator is adjusted in the calculation of diluted earnings per share under the if-converted method to include net income attributable to the non-controlling interest calculated as its pre-tax income adjusted for a corporate effective tax rate of 26.0% for the nine months ended September 30, 2023 and 25.0% for the nine months ended September 30, 2022.</span></div><div style="margin-top:4.25pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt">Diluted earnings per share for the three months ended September 30, 2023 and 2022 excludes 14.6 million and 15.2 million, respectively, of weighted average shares of Class B common stock as the effect would be anti-dilutive.</span></div> <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the basic and diluted earnings per share calculations:</span></div><div style="margin-top:3pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:47.032%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.518%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.400%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.374%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.402%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"></span></div></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended<br/>September 30,</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended<br/>September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:120%"></span></div></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2023</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Numerator:</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to Cactus Inc.—basic</span></div></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,580 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,425 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">120,224 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,185 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to non-controlling interest </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,874 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,686 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Net income attributable to Cactus Inc.—diluted</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline"> (1)</span></div></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">52,580 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,425 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">145,098 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98,871 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Denominator:</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average Class A shares outstanding—basic</span></div></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,879 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,665 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">64,399 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,164 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effect of dilutive shares </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">607 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">441 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,233 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,132 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average Class A shares outstanding—diluted </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65,486 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,106 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">79,632 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="2" style="border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,296 </span></td><td style="border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:9pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"><div><span style="font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"></span></div></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Earnings per Class A share—basic</span></div></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.81 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.52 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.87 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="padding:0 1pt"></td><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.32 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Earnings per Class A share—diluted </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)(2)</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.80 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.51 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.82 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1.30 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:4.25pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt">The numerator is adjusted in the calculation of diluted earnings per share under the if-converted method to include net income attributable to the non-controlling interest calculated as its pre-tax income adjusted for a corporate effective tax rate of 26.0% for the nine months ended September 30, 2023 and 25.0% for the nine months ended September 30, 2022.</span></div><div style="margin-top:4.25pt;padding-left:18pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:10.43pt">Diluted earnings per share for the three months ended September 30, 2023 and 2022 excludes 14.6 million and 15.2 million, respectively, of weighted average shares of Class B common stock as the effect would be anti-dilutive.</span></div> 52580000 31425000 120224000 79185000 0 0 24874000 19686000 52580000 31425000 145098000 98871000 64879000 60665000 64399000 60164000 607000 441000 15233000 16132000 65486000 61106000 79632000 76296000 0.81 0.52 1.87 1.32 0.80 0.51 1.82 1.30 0.260 0.250 14600000 15200000 false false false false EXCEL 70 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /"$:5<'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " #PA&E7#2+LI^X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>*$[&H";-I66G#08K;.QF;+4UC6-C:R1]^SE>FS*V!]C1TN]/ MGT"M\D*Y@"_!>0QD,-Y-MA^B4'[-CD1> $1U1"MCF1)#:NY=L)+2,QS 2W62 M!X2ZJA[ (DDM2<(,+/Q"9%VKE5 !);EPP6NUX/UGZ#-,*\ >+0X4@9<<6#=/ M].>I;^$&F&&$P<;O NJ%F*M_8G,'V"4Y1;.DQG$LQR;GT@X621A'^_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 /"$:5=VAB1V\ 4 *D@ 8 >&PO=V]R:W-H965T&UL MM9I=<^(V%(;_BH9V.NU,")9,"&P),X0DW4QWLVQ(N]W>*;8 S]H6E64(_[Y' M-MAL*A]<3[@)_CJO]>I(\B,IPXU4WY*E$)J\1&&<7+666J_>=3J)MQ013\[E M2L1P9RY5Q#6[ Q=&#U/ADGV MEVSR9[O=%O'21,MH%PPEB((X_^4ONXHX"'#[%0%L%\!>!="J-[B[ #I8^IUQIH<(M>10KJ;3-'BZE M56JKE D:U=#>16'OHIZ]J5"!]$W#)- UK,G#E8JF6-D6T?B&/GN%SU[-EJDX MC*K9H%B=1UQKSL/$FD@TK*'!R\+@)5JHVU@'>DON@E"0AS1Z%LIF#-=P'-IV M^^[ L9E#0QN:ZQ?F^G7,/8I%D&A(H"8//+*V45QG M_!-#G+RW4?>^J4 M'U2GCN$G_D+N?>B?P3SP,M=((SXBZ5ZTV46_1YV>S2X>W-3O 4#0.G['O@_J MR=G^@'R Y\BGV)K5(Y(#YI"/(I(JX"&9&/4O? N-)@V@T;B.M3/CDDUK@96U MP/Y7+62EAO;])#>QM09PN??2H%]\9G6*AC9U6@(1Q9'FM=.B*T^57 >Q9T\X MKOGTE]7H*2B)EIA$<;AY;70J$PWM\>]@53E:'5&\O'18U^KT%,!$2V*B..AD MC74,L\!J8[C );7B$1[5U%8)2!2GF@_2@WQ-ES+& .*(2(_UVOU^Q9AS"CRB M)1]1'&Z> @UH).>$LI^??R$SX:4*,FDUB2M-0@XC]AC2'T7PH9IIZ7T[(RNN MR)J'J2 _.N<.M=; *1B*EA!%$%FV^A9AE;CN,"7]S=66Z<@)EHB M$\6Q9I])$3HX>O,2DAX6$-_K$0D5@N1)JE29@*3SUJR/,*W M)+6N0AQ1_&I=NYC@44U]EFC$:J'1?0RS['R]RLQ$^=ZXU2>N6.7S%/##2OAA MM>#'S-2 Z $'%E)9AZ$C.A^X@K8^]CP!0B#CYY)6QZ> (%9"$*L%0;.(AR&Y M3A.XG=C;+:Y3.?'&XYKZ*]F'U6*?VTBHA>F8OX&"7IKOPXK']M3B@M5&3X$^ MK$0?AI/+/I%+ 8G$[.$RU?9.@4"L1""&T\M^I(711@$+W<>^>"&_"[M%7,IQ M'-H;#*AKG83BP4U]EBC$C@#,[E-R%R2&^;X*0!=LX>^(7+M-6=NU$@\>V=1H M23P,!Y9BU>_0Z1U5^,..K.J\\KA;R*UVBV^$+#O3IP @MP0@ MMQ8 ?3]]FF5;:N13JA/-8S-/L=;#&X',KAYRM6ZF9K9PUZ/>A5/+'7QQ/[1N2R,W0*#G)+#G)K<5"CQ+X1V.SJH?N?Q-(N=7K=WNO$ M=@XV@PV^97OD"?',0GN^+UQ<+?;AQ]GNGVBYRK:6GZ76,LH.EX+[0ID'X/Y<2KT_,2\H_CMA]"]02P,$% @ M\(1I5P^OG/JM!P \R0 !@ !X;"]W;W)K%'UMV8AI4;?EV757$X66J_>3:=-OI!+T9RK ME:S@FT=5+X6&V_IIVJQJ*>9MHV4YI1C'TZ4HJLGLHOWLKIY=J+4NBTK>U:A9 M+Y>B_O%>ENKER[(T MGD#'WUNGD^Z9IN'N]:OWW]O@(9@'T];&WQ!.7K1JOEMC$H6!;5YK_XONV(G0:$>QK0;0/ZU@9LVX"U M@6Z4M6'=""UF%[5Z0;6Q!F_FHNV;MC5$4U1F&.]U#=\6T$[/KC]_NKG]='][ M@^#J_O/'#S=77^'F_=7'JT_7M^C^S]O;K_?H#/UU?X-^.?D5G:"B0E\7:MV( M:MY<3#5H,)ZF^?9Y[S?/HY[GW MA4^[\&GK+_*%OZYK66DDFD9J9SB;]LS=WBRR=\U*Y/)R JNHD?6SG,Q^_HG$ M^#=7<$=R-@B5=:&RD/?9M6@6" 8-Y>9"_KTNGD4)L3NCWKB*6U8HJR&CJ$8D2\HZH MUW=5R)8HYDM\! M$(ULVEY5>B%KR$+[UDAL2\HXIR/A#BL48S M/I[1MED<\7@GE('(M!.9!K/,)U7M5Y@>,]$ZW,8$I*F6>R1V*..Q&\J^LI"/!1E MH3T\)D%B'IJ1C^5M&'./21+F9%=4K<0/4U$Y W;1CUH%B,.,)TGB&Y8>DB1( M)2.Q7LM@";)OQ%([ )P0*YO89@S')/,$T'./A,%W*^KJ#+;*G4QG"4H<)(-9 M/>:=P\R3BFG/.AIFW>O$7ZFZW4-##=U)A=*Y%-KD0M6FP[[X1N*IEM(PW+D_ M M+PZK*&,>?-.=K6<8C./*8V=ROTV\#45.^'BUNJQ@M7K$]^BD870.Z^X]ZY+: M4"1)PF)+J\..Q#'WK$S:PY/RMQ;@^Z0&*7SP?O](WH9A]RRF818/ZIMNI7MK M'.I$\[AN<%EEL2?[TQ[*-+P!_7A((NK. ]ZR3.Q])XTPC>)Q7 Z[V!AZ(NO1 M2\/H#:2H Z*PH9M19HV-@^"<^<:F)S,-DSF8J0Z(P>8NB1)K#^XR2UGB&X<> MSS2,YTW*VK?^;>SRB&.K>G;9X93OG"0-#^EZ1K,]C%;+9:'-)-\40+FJ3,_+ M*O>80)5>HV=1KN4I(O@48XR:A:A- M3;S6"U47_\CYJ=D,2E0TC2F:VUIYK1L-%S!=G/UF5P+C/5?09!CASK%SN%*X MFL\+DQ%@[9D3QK.B0KE8%; 6G2+M$H#'E.%Q>>RP8P1'U',>Q/I2@87WV5^D M%O 1;$.@FH>>=*\Y>^_,HBS.QEG"84=CDO@./5E/=A8F.^R5ULOUAI/;+9): MP@1=F!=LSY"A5>,6;L/[C,16T>@RRU*?ZI[Q+,SX309NO*L=":WKXF&M6]H# M_Z]%KM<-^E#EY\YH;&2#.XRM]Q2V7920C'BJ8-:CG871#G7EF4G0M2I+@\>B MTA)6J;.Z8C:;29KA>+S;<-FQU#^S>XJS,,7W];Y3M(/%&'HX&;\Q<1@F!'/N MH3;KJ.\^77(:A\R7>(YSO07@IF@9=(8-RV&6W='.^C/H_ M@.L'V;&\#8/N&Z,WL9L'(W/XEU&V+,3 MYCV-^9ZWP.W[F0 @;,&,#WCTKIUQOSNY?N=TZS?P%02P,$% @ \(1I5UNC M:A:3 P [PX !@ !X;"]W;W)K9M<68CSDJ6)A3!<"R32*B/A]2QG?C@QL/%WX&JX# MI2^8XV%"UM2CZENR$# S2Y5E&-%8ACQ&@JY&Q@3?3+&K$[*([R'=RKTQTJ4\ M+^^$G]?58\%/- ))UR M]B-&D^_W,WF=]Y\AF#D??GT<3:YA\GMY-/D;CI'WH?Y_-Y#%PLB:*P" MJD*?L$OT%GWS9NCB]262 =R1*(S1?*EO$*O*_.AJ0!4/\[T"ZC;',H^ M N71Y!HYUA6R+=NI29\VI\^H#^DX2[>KZ28L3[E&=KE&=J;G'-&;,-CL)/8I M@K:!C>?S-%82-K%/PPUY8+2NPES2S21U+VW&#N[WAN9FOX[#(&RY5AE4H75* M6J>1=@%]0(6@2P2;QW^\0@D1:$-82M$%O)8E9XP(B1(J\I=W64>?/Z*W!V9= M6_@9?4M0A;Y3TG=.HR\V&$E5P$7X!V[H*O*KM>BY?J>RIO#WC+TMJ@+?+>&[ M_P0?2IFV@W>6H KZH$0?G(!^T=2'?BE\3UH"_>-F]SZGV0^=&7?@I]QS]+JP0:]_A'SGXKC9QL]N]D.+KL6O"SO$-_=. M(_HH^)F(=1A+Q.@*\JSK'JR"R$]7^43Q)#N@/' %QYUL&,")E H= /=7G*NG MB3[SE&?<\5]02P,$% @ \(1I5Y$/2[45" @"\ !@ !X;"]W;W)K MRR^>YS.;LL]B)+<_ZY1-5^NTW*?]_SK'B\FN#)X8LOZ7HCZB^FL\M=LN8+ M+K[N/I?R:GID6:5;GE=ID:.2WU]-WN&+F/JU08/X.^6/U> SJEVY*XKO]<7' MU=7$J9^(9WPI:HI$_GG@G[S*49GZ.LB0J]?O4'5)BEYA=(C6Z MOIP*^7CU3:;+[E'>MX]"3CP*19^*7&PJ%."X4V?.X)OB_\@>=[#N:U MM:2P93W5752[9,FO)G(NJWCYP">SWW_#GO,'%%2;9)%-LM@2V2C\[!A^9F*? MW18BR>3,?#H)K;W7V-?+P\.,!'[@.Y?3AV%X=1@.& OP&!;IL( 0)V1C6*S# M7,=Q0_<(&SGK'IUUC;4V+RI1(3F+(/Y#KH@5[+!KL^ILDD4VR6)+9*-$>,=$ M>,:J6\@%/,W7;]&:Y[R4!5CG)%G)=2BM1)G4:[PQ12T[&]9DZ+)0*4D=A=U0 M+=Q(1X6^BQ6N6$?)XG887(_^,0R^,0SS39*O>;V\W2=IB1Z2;,]1<8]X4N9G MLOM"69K#H?/",F6?Y MK"$9Z/EV'.+YBJ\Z#%.* U=Q6(=YU"/J5!7K,.HSQPM@M\.CVZ'1[9L=KPL\ M7\NT+XLMA]P-M3L'ON3T%.HT ",.TYS687+6UJ9M $8H"T],8KAO&[&Y M;[SFPC"!=<:C*39PU(3, 1C#+M$&L0Z3*%\=)#&$,:K$!8(X3 M:D->AU'B,J*&1H<1V>2<*H.^C\/F1N[Z=$SFR5+L*R3'QCD8!D]O\8D;J+(" M@%',])E/A^%:H&ISGX[SPV&',(Y#W\CA)SJY+*DJ] [-B^VVR-%"%,OOH-=& MFI>*"ZMLD56VV!;;."%]9CL\''I=AXD&V8 M[+V['2?9;%=" J0)F#9C*_OBM-EDBZRRQ;;8QFGKFV-L[HY':3L,JC9]9_7& M;;I$KZ5<6LEY-BD'R7T#9JV]ES_4+.>!G$4'_U2Y!-JX1)UN=!0^#WQULH%0 ME,!S#>E;:F)NJ8TQ6J79OJ[OYT>INYL2)24L(,A5>Q( )<.BKD4@ZL0:3?I> MFYA[[6_JR!Y%9C3"1Z74_@Q'1F^4/1;XZDH-P1S/4YG 2;;)%5MM@6V_AT0*]VJ%GM/+T(47WSG@1ZFP[! M?.RH;3H "UB(U;U& .93S$[(&-K+&(HM+$#4J(5>?#+")EMDE2VVQ39.1Z^: MJ%DU/6,!HL!;!==UU?4'@DEM0]7RTV$L<*G: $$PSVHXILMVQZQHWF&9_+=[2L?N,1V[YW3^#TU$>TU$?UX34:N:R"I;9)4MML4V M3D*OB>BO:B*JOVIAS%/?R\\!&'5=]2!4!,"P7&?4]R0Q@ M#>NH%#^T%$;4A MB*A50625+;+*%MMB&Z>C%T3TEP51QS#2QE[HJZ=' )ALAYC6#NDP+'6.^@X^ M!G!^X&DOUJ:#$\5;7JZ;H]P56A;[7+1G1H_?'H^+OVL.22O?O\<74ZS2N4\7MY*^?]VPM1[)KSS'>%$,6V^;CAR8J7 M-4#^?E\4XG!1W^!XZ'[V'U!+ P04 " #PA&E7(IB-;*H# # & M 'AL+W=O,?H@D-P5!1$_;FG.#R/+M9X7'K/U1ND%>SS5H MAVA.4Z49"/SMZ83FN28"-_ZI.:UF2VUX/'YF?U_&#K$LB*03GO^5+=5F9/4L MM*0KLLO5(S]\H'4\@>9+>2[+7W2HL8Z%TIU4O*B-P8,B8]4_^5[K<&0 /&8# MKS;PV@;^&0-<&^"7[N#7!OY+=PAJ@S)TNXJ]%"XFBHR'@A^0T&A@TX-2_=(: M],J8OB=S)>!K!G9J/+F?QMKPG21L*8>V K\TNYW6/MQ6/GAG M?,#HCC.UD2AA2[HTV,>7[?L7[&W0HQ'%>Q;EUKM(.*?;:X2=/Y'G>-C@S^3E MYIXIG/^W>_++NY^(@9L;@DN^X!R?(HI"95"(K]"$%U".-KI.["F:LI07%'VY M64@E(.6_FLZ^8L=F=ET&!W)+4CJR@%A2L:?6^.UO;NB\,PG_FF3Q:Y(EKT1V MVB?#?PG%-4W$4! M* K#4UAB@#D^[N$&=A)FT(097 P37@:H^PS*HA"4I3\07#HFVJL0!6S?^3151BUHIL80*[75BHVH'JNUU+ /+ M=C8/(^RW3[R+\AWLN*UHNR@W-0$'%T,^".53]^&CBP3*,L[J2OUM4F)7B=1(>=Q.R^Z*.P$3BOI MXR[*A8L2MBY4TH5%41"V,\,^:FD**M9E+RGA*NR8JMZN9K5I5V_*+JVU?NL. M)JYA/8;VMNI&_Z.O>N,[(M89DRBG*]C*N8X@ET75;U83Q;=E0[7@"MJS700X $6' 8 M >&PO=V]R:W-H965T&ULM9UM_"J7;NMU4K2+F M$=BS796(I^SM)KG8N:U[221L49&$%K"]^^T/9,5H9EIC<-IO$LON^?<,TPSP MZQYT=E]67^M5GC?.7YOUMCZ?K)IF]\ML5B]6^2:K7Y>[?-O^Y;JL-EG3?JQN M9O6NRK/EOM%F/:.N*V>;K-A.+L[VO_M879R5M\VZV.8?*Z>^W6RRZN^W^;J\ M/Y^0R;=??"IN5DWWB]G%V2Z[R2_SYO/N8]5^FCVJ+(M-OJV+1">//KN&QS]_4X_W@V\'\R6K\WFY_J-8-JOSB3]QEOEU=KMN/I7W:7X8 MD.CT%N6ZWO_KW!]LW8FSN*V;_!/-."'!EQKP.6)!N+00.A=$B<:R$,#J35@_$0#[]# &]K /S3P M][/[,!W[N0RS)KLXJ\I[I^JL6[7NAWU [%NW4UALN]B];*KVKT7;KKF8?W@? M1N\OH]!I?[K\\-N[\,U5^^'RJOWO]^C]U:7S(6X_?9C_._WP6QA]NOS1B?[S M^=W5_YRI\_DR='[ZX953K[(JKYUBZURMRMLZVR[KGYT?E,]GLZ;M;.=RMCAT M[.U#Q^B)CEV53;8&FLWMS=XLET5W4F1KYV-6+*?OMLX\VQ6P5FC7^I0W[;EI%YE5=_;?Y6:O)V*!E!*[$KS=5;7SINN>YMV2;EL MRL77;Q_J[@,@F0Z1?#M4[W^QRZNB7#H_M;'X$*6O.M,P7[QV&/G9H2XE4&A:G7:7DU_J7;;( MSR?M5-9Y=9=/+O[Y#R+=?T$!BRD68HI%F&(QIECR(,;W8MWE]^Y"!"X39[.[ MX_@SK8B4'G^T4D**/884PPBI(6'TX$@JHQ N8^HPYJ89]0/INJI9:)H1S^=< MJF:1:>:K%C$@1"7S ]4L@7JO]2DU;5SXZ//'H\_W3<2)HW_9M&ME>V_4=(=[ MOV2LRO4RK^H?9[_GFR_=#T[TYVW1_ T=<(YYWF**A9AB$:98C"F68(JE2&)* M'(K'.!365> AV)QE43=5\>6VNZ4 ;V*$L01-?=?UM#/:-?A MN6E!J,NT*WIH[=;8F<44B\W^3]L!"*XM'9YYYZ+/&%*WE(GU'R?6MT[L5?:7 M4VQ:^?WDYOO;%*>ILFV=+4Y.KF\,G0:,:/,[Q"BT=F[L]&**Q9AB":98BB2F MA$OP&"Z!?1UX")#L/JN6SEW[V-XQAJ>N&U;)L=<-3+$04RS"%(LQQ9( >.C4 M%MH4R:$25<3MD9X[/JY N>:RR[G@;;JSB$S1H7V6!G:>S4V %#58F@(A#)M M",G!3'D4UZ86JU_JW![A6F*=VP>(N% @XKJLX>DEYJ I$?J]@]WCV%4 52V" MAD DU2[Z,60F=*L$M6LIEIH:"#WX)';RN6/ 0:""^NP!*. F#U.'H]&.8U0O4:HZHEJ&HIEIH:,3U@)59N M=O$^;YQBGW8"@X2;IY#+F:\S:[N3T4%B>O4"X@L]1E#!)^"4"A(8RP4JT\12 M4R>_IYK$CC6UY$:[9M@S99?Y[K7#W'V*@X+Q@DGSYJAJ(:I:A*H6HZHEQ"2O MTO6(_E@"F'4T*X!Q%NDY*+&#T">C:E DF:Q->D*:MZNF'7,]J9^W(6!'F2<$ MT1<5B/%)XNFWF O9(03HB\7TGB$D#H"3P&C$WDSTD-%8J>*STN%_WJ[?6): M,#G?'%4M1%6+4-5B5+6$F(!4NI(P/:X #BRH9"=BJ^>:Q XVA^?$GXXG$V7* M]O["]?73W+1C+N?$.,T!-$IHH!^:"+";&HM&#%@1*H4.>)*#G7J62WTV3*-3 M9WF/#$GP@OEQ@DH/4=5"5+4(52U&54M0U5(L-;7^JH>-U X;AR;**<0:I=!. MK+G=V^AJ*50DB:H6#SL@":K3%$M-#9:>7E([O?RNC+E=>W15'BKU1%6+4-5B M5+6$FJB5N!I*3 &CZ;&5&CY'Q9YVYCDZ<4Y-(*@_3@ FOIX!">W]&CV]N'67 MY@"F?J"S[X.5DCK7)^TE2";M22:UD\QG)<\I0!>-^LHA1J&]=Z.G&)5FHJHE MJ&HIEIH:-3W-I'::^:PU,KX=6[W.'JA0*W3A(80Z".((2NF;U1(4'N68JFI<=!C56K'JF/R[-3$;\S5 MB=4KZ^)<#N M6K@%-&N%XD M%:$ZC0&GQ'7-IU-4(HJEIFX?[(DHLQ-1]!R[W=_8QQ54M1!5+4)5BU'5$F;R M6BC'#IA9>KLY/"VH^\U1U4)4M0A5+4952QA0_^H&KIYC!\P(#SS_1&P= M;3NW\\_G[3N'X\D$GAYQ.1?Z:6[:,>(*:ISFIAUMSU[)]=,< *V!S_6SW+0B MS#>\)@<[]2PWEEO3Z-19WC-%]I)[T!DJ7$15"U'5(E2U&%4M055+L=34@.PY M)+-SR'=U?;M?&]IX7!R]0.4ISFV7'1V*J,69J&H1JEJ,JI8P$YTR)G34C>53 M#;$>=S([[OP68K4>8V!< ;60,F!ZE=0N/?K*@\I*4=4B5+4852UA)A7V/>/" Z#C8RLU?'H"RI[8 MW#ZV5H>9J-# $@!-))ZGEW+8>S9Z@E&!*#"$:3L&G^I+26!<3XQ'GY? G+S' MG-R..9]5K\--.B8\KN=& *LI<0-/?Y^)O8=C)QI5+0;&0*1G7#)0G:98:FI( M](R2/U'>^9QB'+OFV$L%JEJ(JA:AJL6H:@D'2*Z>V$^Q7*KAU=-7_D3YY]!R M' Z41'+.]I/_38 JU_JW/;TD]OI MYYAR&PY@1I_H!5=VAZ-7 M3R4&@$4FKW,3%D1;B^00"U9RF6FAH&1V__M)=S M7G;7B?9.<7=;+599G3]]]4"EK:AJ(:I:A*H6HZHEW"SEG.KT \NC&ED]0^5V MAFI$%AA-0)4C,?8H@5;,TR\;J( 352V&1D#U1Q!4ERF6FCK]/=_D=KXYIHR/ M0UN]F6?L=%Q@ HW@2%0KB?L$E2?*9::&@@]!>5V"CJBDH\# MV(]2JK\H>V[W./JJ,C@P3:I^Y2JF?D4;W&@%=&!3;W5/,Q,&!0]^"C MJH6H:A&J6HRJEG"3PTK!J%[L Y@13H[>]*"^7+Z'I^([:T2'1)( $*-+7(-@ MS %#+JF9AP7LF ADH%]Z +LID3K&C:'^^8&K/^:Z_ER8$[!@1KDZ6(L"N2\-(_30'"B(#$DB]GD^8 M$-)8,U+ Z-14]&Q1/$"KEZGG$YA\;8ZJ%J*J1:AJ,:I:@JJ68JFI =E33F&G MG(._7 ; :@'5MPK.[=Y&QQ0JM415BX<=D 35:8JEI@;+T1<1/;$)_7OJ<.S: MHQDNP2P&UT:;ZT K)BG5_R' M]FZ-GEY4@ B,P#>J*5!=IEAJZM<3]I11VBGCB%R7!)">%S!],; ['+L8#',: MH3J-4=425+442TV-EYZ'2CL/M6>Z) #4?-=XRY'=Q^@0,9T**HQO#T%U&@-. MB>#ZURDFJ$Y3+#5U[GM>*4?QRN_/<]G]C7WT1%4+4=4B5+4852V1P*9V(,\% MF%GR7+)'K])>UHF2YSKX4-Y="N:Y $,PSP78@7DNP [*LNBFVM;/.K]LV[FM/3)RJN%D]?FC*W?FD75Z^ ME$U3;O8_KO)LF5>=0?OWZ[)LOGV8M?KW9?5U[^/B_U!+ P04 " #PA&E7 MBTT?&LL" &" & 'AL+W=O511MR?XA@AMC6QZ M4U2_0&.]6*;O2: $_F6(4^YHSG^1H2@5D*@;%0IHZ;"V+0',ZSB M&)9QV,_$X9 KCF22^%D$40/>.XS_? !O8DWJPMC;P@SM@X0!Y"WB6!^(;=E. M0SRCE\/MIG3^S[O_S][WBN'4M\0I^$Z>XU-4 78'1?B"!(J'=S%/(A 2;\/] MBJE'\FLPETK@L__==/8EN]/,KEMA5^8TA+Z!O4Z"6(/AOGO3/K6^-!7^-F@-BE[]1#]L=T?M!KV'0ZZ<27_IRPEY1<6299(DL$!75NL, MWX8HITXI*)X7;77.%3;I8AOCH :A#?#_@G.U%;2#>O2[?P!02P,$% @ M\(1I5S13 W#N" JR< !@ !X;"]W;W)K \T#(="Y5%KRCGCKZ9X?";H7CZ()N?:BE$BQY75:W.1LNV79],)JI8BA57 M'^5:U/#+0C8KWL)MU=XVT*3,I?^J;+_.S4:01B4H4K5;!X=^]N!15 MI34!CG]V2D?=._7 _>MG[9^-\6#,C"MQ*:N_RWF[/!ME(S07"[ZIVN_RX7>Q M,RC6^@I9*?,7/6QETWB$BHUJY6HW&!"LRGK[GS_N'+$W /L&D-T ,AS / /H M;@ UAFZ1&;.N>,O/3QOY@!HM#=KTA?&-&0W6E+4.X[1MX-<2QK7GE]]NKJYO MIM=7"*ZFW_[XWO*1JC/Z=7Z-TO M[]$OJ*S1CZ7<*%[/U>FD!31:YZ38O?G3]LW$\^8'X"5C1 MF4*>3?E$@@JG8OT1T>@#(A&A#CR7KQ]. G!HYUEJ],4^SW*U1 M($X46C5PA MR+R&MV5]MYVZ95L*I]>V6JE;J\[J$[7FA3@;0=HJT=R+T?FO_\))])O+Y",I M.W ZQS 0MK/;V 1*NM"KH3+S.W8Q(S5:\W].8Y)FB2GD_M] QQB$:,9[<0. MH,4=M#@8F^^BD'515B4W:XE_H6RH&)!X7 /[ M:L#@Z+)%E53*O8CE=HAQ3 > '4+$@Q='/9]%0<1?ZGM1M[*!?)TI60E5B+IP MKD [1?OOIW&2#T ZI'#"B ?F'NWB(,Q_0X6%P*WS4JVEXI5>@SAXLW4S*;9 MC'&>6U@=8BR-/%A)CY6\+K6>%TC^Z([Z3L^!KZ*4#./N$LL)]>'L"1<'Z>S\ MPZ+=/3O#41D5R2H;@;3$?\)XH M<9@IS60P14(C-.J.E3K \$/%=>8!.8'[X;80Y3V?50+QNT8(**Q;IU',GA$T MR:R(.,2PSZR>9'&89;?Q4#H@>]QI)KEADV?K?#R*CTJDQ])VZ(R>2G&82R^* M0FYJL+P/G=-FFQS'F"1TR$@N.4;R*/$$K:=1'.;1Y_734YUB!U_&-+7@V6)C M%LS@T5U4 ^9B+)=BF:T/)I4^,XI00/03O$&$E\F'L. MQ6$2[4*_YD_>N#O(,*56GCJDHGAOW4M2%VYBTR/) MLV%IXI"BL+9Z8/LN?],('CMTT:L/K]JW+(W$0)DFR?%BQNN0P3A)/ MMI&>6DF86F]>VV@XT=L\2EB61$/*$I4.]!O=16]QC M:3MT0L_=),S=%\4_&ZB0GQF;H]E&@8A2'TP7"8],?'5"F0L!XL#Q9MIR/;89 M;G[LG.2@Y 0G.!L6?0Y!#W.3GKE)D PALNNRA:+4K =0Z6^:_37!"3=V%!J4 M158F.>0(QKEO">OYE83Y%3J50HCY;BI"10V(@S4UL1F4438D,H<43B-/KTIZ MEB5AENWR?J-,7?WZW'$0:\)BPJRD=PCBG.6^):MG8)*]*>O[?OL%Y$%B?W/6 M'TG;H1-Z2BAUR:E/YV G=(>B#WA,^#1.^3IMUT/67 M%60\NM!;*BM8D97>97&:83,Z3O(LS896V'(^*WK2IV'2O]US_]R];>7>&;9Y M?)QD\7#)@16H$MRS 43M-GDF:71,#J25OQ%)6<]&XK7"0,"'$VJ5VRD41]MG1$S$- M$_%5J=JFG&UT>:&T&2NQFOG .J@5T]S:)W3)95'D86#:,S -,S"L*YNF6.H9 MH6>V\:T;J*MWC:W=+*<8RWT^[;F7OI)[]VON=SLB?O]J/J..36%H">)A5^F0 M&]-T?X_YT(Z>B&FX%;Y>+$1A*DSQ6&RWOJ!M$*C8;;O +/>6GDZ#'.UO9B_K M#BF2)YG'FIY1:9A1=U^+&KVBH'=SL;UZKVNCMUEA,^:89%%JU^*'Y ,W%7UK7V"DQF:'Y+Z6R)F,W%E$'M.R1 EUP$J9E[ M0ML3-PL3=\ $H9NC('B;E1.:TF&]X1"C)$J(9Z^$]?3-PLWZ=+->5V8C!/JZ M>:F*2BIHZ[H&55?TD&S;@R&>[U#LJ(W[L;0=.F3OZ_3+GZ>W-* K!/UYZZ7/ M&\QF>>BH$C8,H2U&T\3SQ8CUI0![J2<_Q I5.G2,3IPVP<I.O?\6;#&>/,4.Y*V0V?TE08+5QKF4-18+L90 M7#Q_^)"SEH.8:?H[WM81K<7#MIX&D:J\,TGHGH:.PB,BV(JO2RSUE7FL+SO8 M2SOP>G^R?3)QU6O@6B\JVAS^BGWNG?*# QUI;*V"#JDX&Z;09._8TTHT=^8T MF$(&Q/;84/>T.W%V87VW-CO9KM,;:OO %J4A"8!:B,/NIS7\WV M9-CVII5K<[AJ)MM6KLSE4G#H)[0 _+Z0LGV^T2_HSN>=_Q]02P,$% @ M\(1I5SS$=[0[" ^!4 !@ !X;"]W;W)KNB:6Q=.55:*I* M^]T%E6Y[.CF:= O79E-$7IB?G=1Z0S<4/]=7'D_S7DIN*K+!.*L\K4\GYT>O M+Y[S?MGP+T/;,/JMV).5.UV[ZGUI\7+"]S99#_U;;= MNYBHK G15>UA6% 9F_[JNQ:'IQQ8M@>68G=2)%;^I*,^._%NJSSOAC3^(:[* M:1AG+ ?E)GJ\-3@7SZX\U=IK0S2.1=Z+!^1]\AMMS7\%CJFZ=#:XTN0)'?8>: 5 MT<-U$*9_GZ]"]*#;?PXAE PX/FP I^#K4.N,3B>_>\\>D_Z^#_7]3IBYT,(%/[0'^6T%JW1\/P_$Z[:)<&:MB@:/0[7SD/^D5 M5DEE>_&$]$L$J0E3V);-U _??_=JN5R\28NR)BM';_XN]ADH"LTJF-QH;RBH M'UAF=\A5M;:[[L 4AF1EDQN[:96HM /GINJ77R[O:^O?=A)F:F2'@D=:%:X4 M@5G2I;:%"Z2<+7( M5TM3&0:Q-'IE2C[;J>ID! ;XOLF#+Y?J,TM]T <&#!$@V&OUAE565*T0]3X6 M(ZF,.7H/&-0^P/[H4>Z4+DL^P=)630#M0MJ@UVMM?'A0&@3D3<9.X%]_,A;> M-9OB\)'[09^I@C\D*B DT&B9-A;Q)J5C]&;5 M1+U"I"":>4=[L':Y]613C+'4>_"^.(!?D]YGRRZAVM M?(/91RU?I9ZU3Z&.BLX2HWV?%E/)QY(DY'"Y(K])R<-/[TJZNXE$Y4#M<87Z M*)O[BM:ITIV4K8F%>H\9YMKD&U+7%.!R1EUU/%P!6]G]L2%^>\Z^[)Q%]7 ^ M3^BM=<9%!D")^1\/F3'E.B9TMY)&;M2?U5:'$2 0G1C];89E+5-&=0/C*?J' ME7IZH!)RQOA0F/I@Y?N"&;+ 'RPDF-IZ *B2FH82^VQV]W+I?U6<@GPQXX. MH'(#K!M?2]U?[\&FA>FT7F/:E1?B=3!=01A9 H;*[-+SY7UJ+(^%>O;P=E:M MN1F5Y>Y9*C7[C@ZDJKUQOJM6K>6L+472WI)/D<0._7 WFJ9.P"4*K]?>52,5 M0UJ."!"X',4.AF\ 3AYSK=PJJRL(/>3L.-;]^_W8C.K\0U@7^A9=BTAN-'PU M2=1%KB%BK8.IR6-$MH'R_8IR3OF09?T&)MC:KS=[#S# M&JE?'YG($F8]/=+UW#]CK.2#@8 @:X+>L_P+\> 30>$J3;WBXC MV]8-12O01MQZ+<-?:- R+E/SDSC=U,Z5TII^HZRPKG0;X2?CWUB-F2LFT)X, MWQ"26D;6%!&.AL^QFU)-XNQUTP,^'79>>&)M Y4'E7.X0N&:$F(Y.33S9D,RYPNFS/KS). Z M#>RPB2_;ZFCQ[)\BGZ'<$88)XBNC^HFREKA'0MQE"OQ? S%&0.>_XV(MZ]T8 MQ(,)8L2S%K#A5I,UWK._5D=0< INE!\([0!"ZM"X'(GD"@>0P?E M728^(9%;ASLF($.,R\-CQ27%8'?OB/C#@>\L,^6N&Y_,;5\;.I'(9@2([NI4 MCSHSU@W 8O!GZG/J.&]Q?:B$T!^Z;)%VB3@^)02\BOR MON"" 8&O"QDVANFWN, 9[KJ&!7K(SLUZS0^1Z99C9@,/K$QXN3" $:8[\AE; M& Q"B.T:X/S>Y-(1N 3&9G2=RJ2TL%P4A.X*#$U]/_P+'G612 6[WO]>\21. MSPY]E)F/OL;)<,W?',5:&].'N7ZU_ZQYGK[F#=O3-]&/VN.:'%1):QQ=S%Z^ MF"B?OC.FA^AJ^;:W-^#]VJ&\MP^LH/_8>_8G4$L#!!0 ( M /"$:5>C)JUA-Q$ +(P 9 >&PO=V]R:W-H965T+3EO,X[OTEZGOI%)8K'O^^P"?7-O[!>W4ZH1#_NR+,Q=B\;_&FWEZZV2A:\:%]>3L?CJ\N]U-79NS?\[*-]]\:T3:DK M]=$*U^[WTA[>J]+U'*K/JGFU_JCQ5^7'95"[U7E MM*F$59NW9S>35^_G]#U_\ ^M[EWR6Y D:V.^T!\_%F_/QL20*E7>$ 6)?^[4 MK2I+(@0V?@\TS[HM:6'Z.U+_P+)#EK5TZM:4_]1%LWM[MCH3A=K(MFQ^,?=_ M44&>!='+3>GXO^+>?[N8GXF\=8W9A\7@8*\K_Z]\"'I(%JS&3RR8A@53YMMO MQ%Q^+QOY[HTU]\+2UZ!&/UA47@WF=$5&^=18O-58U[S[4*J'3XU2I;C)?V^U MTZ2K-Y<-2-,'EWD@\]Z3F3Y!YEK\W53-SHD?JD(5P_678*GC:QKY>C]]EN G M58_$;)R)Z7@Z>X;>K)-SQO063]![WSH\<4[2?$_#GJ MWVZL9\F<9O(D[9\K\4&M;8MP%=.5-X9XT>R4^.Y/J^ET_%HF>BMDH_CQY/7+ M3-PKD9M]7:I&%8)6I)^:C>CWTQ2;N;&%K'(%]V]V_'VC[-ZQB7)3%;S.T4)Z MMU=VJZR06ZL4,D3#>Q?B>Y6K_1HO@N-,1^+'*B_;0E=;L8'52R&+WQ!4M,8) MI#21E\;16\H=]&\N:]W(,L,/MQ-@=4<1Z3$H0'/S3.B-R)5MD->1?.]4U2JQA;^2=22$(\$M"=J(]:&WYDC\4X$[ MR@),O*TW%IE!U*W-=\B>HK8:5FY9Z9)$ M<'^5E?=O^'8FUL9"2)!R@H2PO,L-=$L"W;S_F[BU"LXH/LA5+;V;BZ'RR2"W!WG0G=2G7I3IRLL:; S6/N ^>R0I=JU+#!F0J M-P@D5>TH:I#6D*]:1^$W6;Z&HX3W8 YN8]5>0Y0])-W0=Y9<$SM"L7?D@+3= M#N6K/(#@%J+ [0JAL$W-7@7W(NI%A$BP*J0"]8;596KD9FZ%P<2LQ8@Z0% [5:46JP47 BN0<\H7^Q5!8^Z5&VB%O'/>%7 M,=%@(7:3>Y):KN/Q,?H*Q^YFMT."CEY MF@<;1T5O6.^CBHZB%1@@]00VD@L]D_Z/=]:-*=%,N5?/\W'[&&.<"R",;#%> MB)NB>$7?DUXI_PV_>S%Y*1;9]=48=2Z&%]>DP5=L7!1>\A^BO,SF5PM>^XMB M8$E:(Q&5:]C-BR1:GPG6^/Q9=)/&2IHJ'PO]1X',YZX8"A%L9#42, M0YT1;"-M:833^[;T;!$MF21%4YKM@3O,@B !IS#LJ=]YRD+@"12NO/IY'RR&ET/P'3WGLMBU+3/97?: M^=JHX$)-%YW0N$;!BB!Q$M)KL[.FW>[$7UODXL P,+-5&QXW4'W>$\0)TD(9 MC_%*<$8N6X139$C7J6'WLE#'P/!(^R.HCB"W9?N3K5OG8A$A"\@RCSZ'1]]D M[@AD)^B@/B)#:W@TB7^4;VZ0AO(DZ7%:8H# Z+;#>*S(A(SLUP4>CC+EUPKY MUICB'H:-"H?BUC1?0OA%!S@?)XU$UR\8J[<^-2?L'&_><\? )D,]8<8 E8E M1,BN%APC:02STU4M[\/M1')J:V*/6-+_&6@D-J;4 !TUIQSNWFMC96SK@@$* M]D,SXE,RH9,$2H$]='B U6 /_9+S^:[/0FE+"S*Z@GN]P M\\A7&:[3](->@"03.4<)F4VN4 RH:R./<&*QS);S):!23_QZ@D=7Y&;$L9],)L+EJG>D+CZ43\ M6%"WL='LLAJ- CH@^AD^FH['V6P\%C\S*Y6ICKA99%=75^(S=_41P^8!>RV6 MTVP\FXL;CV@YL5DGBU7UR_IC6W5LU*G:/C%]"I;3=%>?H#'4!'PPADT MP=O0BKRX7LY?/A)_0.1Z?/52?/^$F^#U++M>3E\&F09@W &'8,F+R8QJ_>JE M^$DUCZ2>S^;9 CKY15&S$ VJKW(:1C:\0X(4"1S 8XRE03:@;ENEC)]1E3X+G*1>T)@TO M:E@0?,"CSN>PX_KO !A\QN@X>K8 /G;5#A'SLH>]:@#PI9Z4&'<"86G*"D6?D(IDC(5",(58^Y#7<#G42#"4?C3 M=T6^8J/S5QG'4GP99 ##\(5LH$;FAQ_P3L>9/A2/D&8W5.(BIT'T MT/&4"70\-1I1%VGP=#1&7TM_''NH3^B"$:EWH2,''/R-6THCY)Z:P%B[[GS/ M/PA$N#5-=WBU=_TT!I/P(P>1,57:KFID_<.8/TE5>VC_=($XRBI9^(H'GK&L M'3*OOKY@16";2VL/9 ,?:46KPAOP['80]H(8%I6D.=K(3\LMNUY2,*V??EL& ME?! *^\%:<,B!8 A,O.%KB[@.%O+\V2P3%IV.WQ/Z"9H*H4IP_ ??LV]1T1Z M_62F-T+HD+TK9Z@*S@7_#7@C?J V-,CV#;0@+(6V*H"YC6X8'-USZ?&I@\"> M.4'@:^P_TL ?%X P5ACH_E\$XX$+TXL->"3!=+\FV<#4QSUA%Z- .Z7,/90D MLN)^IY&%?:N-'+0W89I+ MXWUC720;"K6'%?)8?A3+H7Z>Z[5)%WUQX-'A<:WHA.+,>N+,CX:,^'2/-;[4 MP?(4S#QV]SUK33/%M@IPL /#G4I9L/O^1"1T@=RAL9J]*\?I=C*C'YPY2DJADM[2Z*LZ=%@U!7/.^;%>B'MG MN@D8=?$=(<)EP4>'QUR23G&3H23'74PEL5=(1.^/'CQO3R_>R3OE ["?I83V M<.^[EC! XJL!4V-LTSP7IZ,:78A5N1"">&0Z@(]/- M()OTRLBZ7NPI[H]4FX!YWVX\[T9HT ;#X 0K/9[9L4\D^">F;YIW^"U]_])0 M3[&!VC13E0^A'W6(M*9D:%J'LA]FJE3TN[1;!RPPFPHNG*H !]H*A[ M=$P1)_>GSAOZC4)'7W0G1A2RT_EBM!J'&&#XWZ_K#L_X&RG MMVF1$K4I*64RK/" EZE M:4X@!(:#G:'BD7_O (-[<[!PUP_W=Z)2A^C/@3AVR2G"70,^-TFG@L>-@3^. M[+I\2!_.BIB9*NO#37DN,H'K5\:)1F>DO2_!%&NBS M/,1[#Y72H1\KV&_O.C1P.C=Z+V PR#)UB>J)1-;(+Q":YQ'QF'6MMKJJPK66 MY BXY[TRQPR%"4!_.RMP1RJBG)M>CA8_4?(=/*&DZ=,U__HE'@R?B^ERGJT6 M"_Q:+1?9?#G#K^75(EO-EWSV\J,O/A']15?W ":CUR,QFV6KU4),9M-L/+T2 MJUDVG<[%J>O(E\D]>O^YO\W_=PGW@D%* MM<'2\6BY./-G=.R4)9^@#O-\8T\0_:H/N_*;S[+U!+ M P04 " #PA&E7 ]%-TL4$ )"P &0 'AL+W=O^ZY5_)LZ_Q-*)DCW5;&AO-!&6-].AZ' MO.1*A9&KV>)DY7RE(I9^/0ZU9U4DI+,NRUYD0:: M?"17DS;(:2M)N8X>IQIZ<7&1YZZQ,= GSEEOU-(P*5O0A4&ZE,V9D'AZZ[G0 MD7YQ(7 X&T<8%O5QWAFY;(UDCQAY31^=C66@][;@XK[^&(1[UMF>]67V). U MUR.:38:43;+9$WBS/@JSA'?R"-Z=\X'^N%B&Z%$M?S[D:(LS>QA'.N@TU"KG M\P%:)+#?\&#Q[(?I?/+F"9;'/1A%_Z#9?K*Q+>1(96W^]%U M!(_B#3@AE*Y^./D7TEHE;%QK>NQ5VM M:N^*)L=":&Q MJ@637.HO4+N"-&VAPBM$;*.+ M]E \;*.9ZG'OV%W9;!EQ,1JNBNH2TLBR#C\[LA%.V-;^J8[RA$E'Y;4PXT/:U@P:'*;JS;6G&T.U5UC7)$ M2/E6PLW%H0]26CE,X#I';93\/2'2H8\2A*3WUQT]:;Y6O,"]1JKX"\YU)=NU M!=K= A3!;:GAB',58BJN59-:F2&#F9$?R!ZT8<$L;=!87*/IG9"*4R8 O-32 M-VL4$'KZ.YEKG5TYD1 7X)8BCR4DM\H70D@JXDF(2V72$AUE M+*[HLU1?M0@QW1=#C!$#NB;#@]D?7SZ?Q%^IG( MSVPX??7RWT!E]/)X2EEV3,_GLQ=0?T&O)U-ZZ)H;'SQ/4)WK] @+E'+0OE3Z MW?Z==]$^;^[$VT?B1^772 @97D%U,GJ)&]VW#Z]V$5V='CM+%]$*Z;/$6Y6] M".!\Y5S<+\1 __I=_ -02P,$% @ \(1I5[^LKXRL P J < !D !X M;"]W;W)K&ULA57;CMLV$/V5@1H4+:!8-]OK;&T# M>VG0/*18[*+-0]$'6AI)Q%*D2E+V;K^^,Y17<0''>9%XFS/G#&>&ZX.QSZY% M]/#2*>TV4>M]?YTDKFRQ$VYF>M2T4QO;"4]3VR2NMRBJ8-2I)$_39=()J:/M M.JP]V.W:#%Y)C0\6W-!UPK[>HC*'391%;PN/LFD]+R3;=2\:?$+_1_]@:99, M*)7L4#MI-%BL-]%-=GT[Y_/AP)\2#^YD#*QD9\PS3SY5FRAE0JBP](P@Z+?' M.U2*@8C&/T?,:'+)AJ?C-_2/03MIV0F'=T9]D95O-]$J@@IK,2C_: Z_X5'/ M@O%*HUSXPF$\6^01E(/SICL:$X-.ZO$O7HYQ.#%8I=\PR(\&>> ].@HL[X47 MV[4U![!\FM!X$*0&:R(G-5_*D[>T*\G.;S_I/6IOK$2W3CP!\G)2'HUO1^/\ M&\8?X+/1OG7PJZZP^K]]0D0F-OD;F]O\(N 3]C,HTACR-"\NX!63NB+@+;ZC M[A7NI2N5<8-%^.MFY[RE=/C[G.(1L#@/R"5R[7I1XB:B&G!H]QAM?_PA6Z:_ M7* [G^C.+Z%_[S(N&I^G=H((IV-!<7!>>*Q >/ M E4G6C UE,9Y,!8T=00J M+>4C 0Q.ZH;1="5L-=K_=&AEV8+H>VM>)!4/ M^]RCI3H/!WX>D1Q(7:JA0A":#RM9BE"LQ,.B"OS8V$JA8JBDI5H&)7;&TFSP MI"0&+ZRL:QK4-I0@055@R%=+/2HXPFR=LX0$G'SV+G0CFB10@>$U 1N M-26VL41MC"S+H:#'=$L<^^ 5RU8;91H*MN*;IF[\3/$I6\;@F%!*=.(59$?I MY.FJ.S9C*KXU% &ZTVHH.:RG*54:ZM2<.G4(6VT4I12YOP:J:J*[H_3BTK[' M\CC)8G@4A^F"';R#O(BS^9P&]%^D\(4Z^GNIWY/'QG(0LBQ>I"DLXCF=^BBU MI,Y706-,17O+5;RZ*B!;Y/%R]8'1TB)>9%DR4GW[- VX8U@ M/8/V8R.=5J=GZ&;LOE^/CV_89V$;J1VE14VFZ>R*&I,=WX5QXDT?>O'.>.KL M8;B"2J)!4G_WY'R7&3P/&P+Q*/O'ONN1<> M9SMM[NP6T<%#4[=V'FR=Z\[#T!9;;*0]TQVV=%)ITTA'HMF$MC,HR\&HJ4/! M^21LI&J#Q6S86YG%3/>N5BVN#-B^::1Y7&*M=_,@"IXV;M1FZ_Q&N)AU>%W\MYP#TA MK+%P'D'2[QXOL:X]$-'XL<<,#BZ]X?/U$_J7(7:*92TM7NKZNRK==AYD 918 MR;YV-WKW&^[C23U>H6L[?&$WZB;DL>BMT\W>F.1&M>-?/NSS\,P@XV\8B+V! M&'B/C@:65]+)Q>EQH$2WVE]YS\K^].XG@&JA,WKC M74/?.E73<=/5Z/#LK1B]O;+.[OU!I6L:8T3H'*@W'39K-$.#7F&Q%R(&7SW( M>X@F+$D$+5(6^^Z10 MN%^$$"S/LX^TXIRET_@C_$&-^09Z3&G*Q!0B0N>I\#UVO FB*8MSBBEF>3*! M/[7/RW',\2*\ASA)&9'QQ:5T$B4X=KO#9_.X0;,97AW?C-1UXV@^[!X>MHMQ MGO]4'U_%:VDVJK508T6F_&Q*H\V,+\TH.-T-TWVM';T5PW)+CS,:KT#GE=;N M2? .#L_]XE]02P,$% @ \(1I5Z3T/R@Y!0 YPL !D !X;"]W;W)K M&ULG5;;;MLX$/T5P@V*!A!L67)\21,#3M)F^]#= M(,EN'Q;[0$MCBPA%*B05Q_OU>TA9LM.F0;% $%/4S)DY<].<;;1YL 618\^E M5/:\5SA7G0X&-BNHY+:O*U)XL]*FY Z/9CVPE2&>!Z52#I(X'@]*+E1O?A;N M;LS\3-=."D4WAMFZ++G97I#4F_/>L-=>W(IUX?S%8'Y6\37=D?NSNC%X&G0H MN2A)6:$5,[0Z[RV&IQB"X\;C#['4FO>+AN47_'+B#RY);NM3RF\A=<=Z;]EA.*UY+=ZLWO]&. MSXG'R[2TX3_;-+(G:8]EM76ZW"G#@U*HYI<_[^)PH#"-?Z*0[!22X'=C*'AY MQ1V?GQF]8<9+ \T? M6@#>>$\DFYI%@YK\!'7&OFKE"LL^J9SRE_H#>-BYF;1N7B1O M MY1U6=I'+$D3M(W\-*.=AKP3GZ%]@^$V96PF=2V-L3^7BRM,RB>?UX+0V,E M?=V*;ZA36_&,SGOH&$OFB7KS]^^&X_CC&QQ&'8?16^C_.W5OHK[N\Z^88IV0 MH:"I< =11L\96..2>(6,DK5 M7,HMVQ04J CGU44)?X#_$C33F#\Y>;NM !.->QDW9BO4VANME6N]!GOO ^YK M!63/GG+ @P59)S!( +$GVV??R%O)ZPP0M=FY%XA;B_%W )SY8/&ED,)M_>VZ M2TN(T!5E5"Y!*!WZ1^)9P;;$3<@: H,8&WJL 0GR($%/(4?^;29,5I<6*46N MF%"YR'S,7(&H=59*/^'8D@Y"=>_C4* 0<*GV$>G2N/=02IT%ZDX'FDV8N*\? M2^LR>)+7QFN'W"/%\#D,$?)#A&$$N!V]W1Q@&_#&WTH#?&-/V0W*+C3M)10- M9NE=I;4,-NXI*Y26>BW [UX[1/B"2T_7%\9!Y )TPH[8))HF(_R^?S=-ALG' M[N:SI.<[1R2;BK0B?%U:J>$LB::S6?=[8.05 GLKK?P17L31!.]\:!MF(2:! MQ8N^RLEQ(5^TAM@W9=LXH<*11_5]M?SHSBF[-AJ=>JG1)8L,!5'+D+)%TU4\ M,/T=71DD+L/7B7PJ97AE"U%9SP4,TCC&Z4,:S>+A,4ZS<92"WA5J3F*C0!FT M"=FRR22*(?YA%(UFR3&;)-%)/&7WAN>D>$EL.&[>S]+TF U/HG@\05RS!RBS MG6KX.>ZRT"2XB>7.$X"DR=B[,IS"J\F(+7R'_Q PCO+IID@WG="M^^:M+:UJ MR236"=NTP"9\_/&*^P9==PA-Q"HR0J/G-48-*#FQ$B&;KQCO$FG9, G-"PLO MPD_/V,=L,PW6*CAYT#:N,$2AHW^Y@8Y&_1BM+658DJ!Y-!SWT_8F@B%;4=B= MY#8* E[+FS=Y*#EV=_V>E]7'1>N;'R#-A$1-:"GR$#4,%Y@/U8OJ$RI#[?39 MI_U(K%UMOHM<2U:\[/-;\NLFIK)'VC421+Y'9-)Q/#L[C@_/DX#QM MST@DUMJ5 ZROX'B4='74ELQK7^W!P?*%;EB'%=-_./!-:/:P[K;;8A?-\K87 M;U;@K]RLA;+X3JV@&O&ULG5G;Q/;5983UWHJV4G9 MR<[#UCY )"1A# (< K3B_?H]W0 IVI%D95X2D03Z>OIT SY;N>K>+Y4*XEMA MK#_O+4,HWPZ'/ENJ0OJ!*Y7%E[FK"AGP6"V&OJR4S'E388:3T>C-L)#:]B[. M^-WGZN+,U<%HJSY7PM=%(:O'J3)N==X;]YH7MWJQ#/1B>'%6RH6Z4^%K^;G" MT["5DNM"6:^=%96:G_G%!YNK_.G^(2QHS9@T9DPG.P7>J7(@CD9],1E-CG;( M.VK=.F)YQSO<$N^USXSS=:7$?RYG/E2 P'\W.1ME'6V6167QUIV8WTX&C:B#\> 8*#.&"D9;850(JF)96:5RO9^2 M@;BQXK)> +UX'I_VQ14B7WOQ\>.54!8250[IP0DIYJC)7Q^5!$\HJQW]E]7T M77JOPJ]4<#F*_\&9!U*9K)C+3!L='E$L80DI_A$693(H,L@H@!)&DZN_??X$ MPI)67"TA24REO>^+?PTN!WVR7N:H*$W (&H0("$+V61$G2V?R*'%B(CW-5DQ M@QA^[5=XI-RDQ>)56"KQRT^GD\GHW>7TH[B*]EXG>_G+^-WA0'S!N@T+Q J: MYKI"Y&1!(BE0G1 CO"/67%;N0=-G,KMRU#4E:+35"S H>I#9R9A0+ M)U,HS-)F*9G/$,CV7ZM95:.'B,EIA%R?+,B99PPA$35<*"Y] *6UX&5+;%S:0\1QG*1#60A@G.1T'XTDW06182MQDL@^J M^NN<'DR> .-O)/BNGOV)/)+Z3%6!<$?&Q@0AR5C$^0%!D$ADFE;L]GX# @KY M"&?^JA456QZ%2K/9/]* 2,G"U: (Z]@X]2U3T'9PW'&XWT37!]5/>,.JV"4(MZ)4589(@LHI M^ K%K EY,LO(,@_G,Z4?&(T4CW:!M@_8YBH I:,SM?M$#; 7J@H18V,+)'S?#Q(8:Q ZL M_!]3J* S1%YS>%]T(19W;7*RIDSF$(]CY.#-I7RDL)-G!&->$M_@9Z$!OU4Q!R#);@:.*+JFN()PR&)Y&&XY=EIPF@^/1S\1S\,4" M]-Q46[PALATQ#+BCG1M^V 3:_HRK.@HK:1#XN?YG C98 M/1Y,CGGW>'#RTO:M/I"DYPCH]@O.S(.JB!V0K0IA01VE@27F-O'H,XWKGKTG M1-K1I\#0J0$/P\21*3Y)S4$HP$HR(4:^MC59V>'S32/#WVRE'0% +0D?<;S; M,+\\3A*/833SXD%6VH$O,H<6*FT:I(E,*LUW+G'R]#RS\6A@-)1OI1GNRY0O M6$43,0SW&C&KNFMF3=_K4\>A)IFHG]).*<CO").B@]PV'OC,YI&Y\OHLJLL1^3@T+[YX-K([*97YMH M4$(;MB9G%83>>=.=S^ T#4G5V3RM[4A6Z MR@(P0YYH=IT]MB9VP]PY^G1.3'3@3:=S[)/Q@='5- ^:DK^?M/K=Z8JFCI*! MQUE(RF,HD1(33[<@8TX;D(/?9#='=:M=Y'9RRU4(SM>VDSX=>II^28-:_\5@ MM2/2=SJY=6LN 3"J,0A=)'@Z$)FP>A*HP@Q=F2RT>@I]\3U<.H+'Q=NNB#= MV/(@Y: O'A6ZGHF%>3J=L"<8"%_R;SE^)#_D^RL>30>:,H7*3AF?U%;(?[X,*#"]\ MT1#9$^R\;E)[\N6V.\Y-5[_#SCT\MPWZ:P,U1A!BO))OW[9_T+B,]_CKY?&O M(9]XV/((S!Q;1YB!>O&:JGD(KN1;_9D+..?PSZ62<(D6X/O&ULC5==<^NV$?TK&"7-$V-1U+=C>\;73:9]N!F/;]H\=/H MD2L2N23 *!E]=?W+$!2TJWEZ8Q')CYV<7;W["YP=S#VJZN(O'AK:NWN)Y7W M[>UTZO**&NEN3$L:*WMC&^DQM.74M99D$82:>IJEZ6K:2*4G#W=A[MD^W)G. MUTK3LQ6N:QIICY^H-H?[R6PR3+RHLO(\,7VX:V5)7\C_HWVV&$U'+85J2#ME MM+"TOY\\SFX_+7A_V/!/10=W]BW8DITQ7WGP]^)^DC(@JBGWK$'BWRL]45VS M(L#XL]]G5_L4<_D:]/4O6 MEYO:A5]QB'L7ZXG(.^=-TPL#0:-T_"_?>C^<"6S2*P)9+Y %W/&@@/*OTLN' M.VL.PO)N:../8&J0!CBE.2A?O,6J@IQ_>*%7TAW=33V4\=0T[P4_1<'LBN!6 M?#;:5T[\K LJ+N6G #$BR08DG[(/%7ZA]D;,TT1D:3;_0-]\M&P>]"T_MDSL MK6G$$[!:, #>]95X"GXE*_[UN'-A_M_O.2#JG[^OG[/EUK4RI_L)TL&1?:7) MPP_?S5;I3Q^@7XSH%Q]I_R@N_Y>@^*TB\.0/8Y4_"K,7IK-(HK#FA+0$ZEKD M0Q']XRIC_8^>;"/RWE5.(.7%7KUA#^:<@H ,F81II87' 3GR@95;TE[6+@DB M)LDTL/&[T1 M)/-*%,IYH/!L;:B4&CM/NH74!4#E!C#^ S'IAEC $Z031BKA/K;ZB@8D0LKJAC%[-I>[)6Z3(:CNH#YP40((5R4%@:4SB& MAYE75?!6ICHS9=3*@1X)T-Y0;)E8)8NZZM! YCH-Q*RM 0\71N(%.C\#0)TF6]/ M;-!;5'M5/Q@#PPV%3\0<4!LT]22%SR3*N8!=8(I' LOT^ M$!,2\J+&[)6&V?',!A'G\C:D9N1IPLDR*@1^:OFL)%*^KP/*%""S/Q!%WPP9 M&P^\#ISWK8:#JFM.(V;#D:3E-51>YEM(MUBJ M7;=CUG@5:C%^0C^ =Y_E,51T[B'34%3-(\*]H"$TY%S@\6+[LA-<#:\U3-13JLQY[/@J6"N9B">I92%C M._ZLB@(%^&<):T\ 8!5B'S0#,YXS7\GW360/3ID#.]#+71V0.9CF+F]@Y[XJ MN!OWSCG>0@D[Z_QV+7[%)>]RAB_)_).=?3U?^E1\+[+9(LFV2[%>B+]@.,MF MR7J3B=4J#%?I,EEM-\/J/-LDZ7(A5DL,7RZB(;"T66_%+,52MDYFZ5+,>-MF MD6QGJSB_GB>SQ3S.__)QX,1B@9,AQT#FRV2Y78C9%M^S^2Q9;-*XL-TF<\#+ M6/EOYH(<,&VS!B3L3--H&Z L-K-QO,FR)&6U_7B9ICAF&*/8^#R, V_:\"3; M&8^"$SXKI#99WH#UO3%^&/ !XQO]X;]02P,$% @ \(1I5]CCWQU!!P M8Q$ !D !X;"]W;W)K&ULG5AI;]Q&$OTKC8DV MD(#!7/*AV)( 6;M!#"18P[*3SSUD<=CK)ION;LYH\NOW5763,U(D V#5>3.L;NW7P>BIH:'6:NHQ9O*N<;'7'K-_/0>=*E M*#5VOEHLWLP;;=K)]:4\^^2O+UT?K6GIDU>A;QKM]Q_(NMW59#D9'GPVFSKR M@_GU9:JJO)S?+=AUK/\LL2.6M0YTZ^P? MIHSUU>1BHDJJ=&_C9[?[A7(\K]E>X6R0OVJ79,_/)ZKH0W1-5@:"QK3IO[[/ M>3A2N%@\H[#*"BO!G1P)RG_KJ*\OO=LIS]*PQA<2JF@#G&FY*'?1XZV!7KS^ MHN_59RK(;/7:DKK9>"+D/*K3R9?/-Y.SRWF$%Y:=%]GBAV1Q]8S%G]1OKHUU M4/]I2RH?ZL^!;H2X&B!^6+UH\(ZZF3I?3-5JL3I_P=[Y&/*YV'O]-T-^*M1D MZ?QI2SPP[T*G"[J:8"("^2U-KG_\8?EF\?X%G*]&G*]>LOZ/2O-/+:H??[A8 MK1;O%2RGZ^5[=:8^MJIP;9LG:&=BK5SOE6E---JJKE];4RA75>1-NU&GV\Q\2C@\F*J=J3@DSR5>!F=BC6)VUUMBEIMJ"6OK=VKSKNM M*2DH4(_J]%Z0KO?J%I/E^RI%^G=W-5$4E1S!5(>I( LBZ NDR;>$:4A%5X(>5UVU1FY">Q%K' M!Z'QI>0!7&O-G\@#TF "* 3I+O.[MF.5FA99A2QYCFSV4BR7!KN0N*X M17% -&# ?(*H^U/2ZE'XJLL6,"EAN, MX.4:LU>^U *B5WK@:#EG[ +!.L]M**U> 9M#]W(*3"$3BXA)8TC$[$S=]>M MWWL6+FK=;A!ZSDE#.O0^#7?&_[!FVG-*"K=!Y\L@BHS8926).H/5@, 1=:[- MYAQDO:)[G P"3;E'9NI&AJHR+?=D2G-@QEZ-.9.@*?:^97=@=;A:0X=I??J@ M51M=PJTZ6;V9_82E9RVS#^//+##-7(&R(WPV[8Y'].1\.7LSZ@D&::[<\(=. MJ+QK1(/N4_Z$*6[5UY;!,^V$&HE*!&)17'7#B6A@%8NY^#9C@GP0R.JI0%IU MLES.WCX5B9PH2H6'.5W+)]*%Y J$@Z=A&T[3>+D(^4-MQ["$55&^D]7;Y6PY M^A<>/UDMCI*+HQ"?DU(G%+WWC&VP"!8\X$SIZI)P- WGD5L":Z&E^S@$EH8J MWP358[;\ 1-34>L0O8Q9:;CG$0*?TE3M+,O"IN<3U6/=6GA(.K)%$7M&)2Q? MFX[W"3@@1(Z"C'3I8SYG%CTN$<-DMCH>$ZXQ,TFI>C2]]+XE68$Y4BPX&6H) M9 "H-%8!0F)WG[0GR0S3,Q*" 'KHRBDXF"_NKG,*B)70=;\Q[\@7O M"G8OB1$S0K/"ABP! O%8*J>\3")/T"A1YE=E3\=[M2&_07JG M3&Y8!D$#TC13 '\42&NN^P"^ ]3$?+)+)=5);F G2'*VO+-G4XG$X0"QR=*/ M>L3U%IQ:% AEI%A$EIZOF;V^]YPEQMKH;S)G!G4K#4L/\S7R ]N50QH>;K7M M:2BX1M4*TTD"JA[S=M2VT(,GF6)0=/\8(T,*/8AH\,:$-,Z&Z*+FO(WYN)1Z M;=Q+J9M>\B[=M:8\>ZD5$5I;5,VPN!YA\*LG]>MCO0[L7;BMGN[S3ACR= M&L,;?7_@U]/4&W#.(!UZNR9;/CKAX?C51\Z@ ,_\,[0LY["4WD#:#NC]6/E@L"21#I0*TIS\AVLL4#AZ?G<:4+FEU<<[U?8;;#^=W:5\,L._I0,SC;F+44CM9 ML\=#E&@T'M9'JMA37U3SHP]?X2G^O.<6A(WT#3P^'7]!N$D?S@?Q]//#;]IO M#.*V5$%U,7N+ST>?/NG3372=?$:O7<1'N5S6A/[P+(#WE7-QN&$'X^\JU_\' M4$L#!!0 ( /"$:5?%/G>@P0P TG 9 >&PO=V]R:W-H965T! MEFB;K21J22J.[]??S/#%5"([R6(/N"]M9)'S/L\,AWJ]4OJ'60IAV6U=->;- MWM+:]N>C(U,L1TJ:Z.)J/1Z5'-9;-W_II^ M^ZS/7ZO.5K(1GS4S75USO7XK*K5ZLS?>"S]V=[K!1S MWE7V2JU^$UZ?$Z17J,K0OVSEUHYA<=$9JVJ_&22H9>/^Y[?>#LF&L]&6#1._ M84)R.T8DY3MN^?EKK59,XVJ@AG^0JK0;A),-.N7::G@K89\]_^7/3MKUZR,+ MM/"7H\+O>^OV3;;L>\G^4(U=&O9+4XJRO_\(9(B"3((@;R<["5Z+-F?34<8F MH\ET![UI5&Q*]$YV*L;^=3$S5H/O_SVDHR,Q'2:!^?"S:7DAWNQ!P!NA;\3> M^;.?QJ>C5SL$/(X"'N^BOL/RC]G'+@Q3"1U-E[%+T+8S[$-3Y$RM M&E&RLTD^^0"<*+\B8!)GDCQ1QR4L&:&$L;TK9+-CI23Z%2*\J M3%JS!-&(S&7%C6$7*&Z-+ZPJ?K #+<@SC<6=44T4U"K+*W:CZ$VK5D*#I$W) MQL?Y>"OYM[O(CU_D9[O(Y\R[YM-\+C3^_J%AO_.F [ ;T!OM7@D+AN<-ZR"+ M]$I+:T4#+/Q^X#7-)I/C;#H:/60*;AEGX*I"!%=%FD+3MOV3<3X]92UX@F@Q M@'36 .ZW6A5"E&[1&.Q_&@UT@._QY]/\9?P1GB-M%+.4IE!=8PT9&*62!D'; M@$G !+PL)2'P7;EV[LT8;T&P6PG(*ZHUVP?GIA(4RL"F4FJ =W@-%E&%Y&C. ME;1+8N0, _0ZWH!9P$<"ZDBA=(E&!X[P5'9%D"W("7YMN2R?RX85O)7@YYR] MK\3MM16B8A<%.-DXA4"Y0C7?N\;1B(PWJ_EF=4;\ (QD@5)ZKZVX+E&=\>0L M&Y\\Z.45B(T* 0$RH\M)2N?ULY_.)N,7KPRK5+-X#EZOF02]&RQ[K*VX4Y+] M$&LF(/346@A8P,1ML>3-PH5#P^^?!-OG[ N:UHG)R:)1I[E6 M-3.\$@P!0W/*9_0KKC/=[#OX"H6X@2WX2@NPCA90X\&5R%XU@JT%UX[20O/& MLA*<"G'DTF[.I8;RIW] 6-[PJA,A'U/+.MFD83/L.>AUVVG0T@B?(5T+BGDI M8E:N0$'*2F@Y@"?MZQD+)<0?2XD)*C"FP'Z.8EMU&% +K8QYWK5N+;\5)F?? M!.G/"PITU-L1 @$7@ V@(R0?A-P:[8!QZ5P=)8FA54D^DQ4B3(&Q(>>R<&_1 MQ&A&;CKMY-XL!7.3T9RU "4$+Y:PNE7:81= C2IS"J+(#I/+&="YJ5 +P'N0 M$F*"SR#=U(V//?#8<_)8\&F@]Z4GQ8Q7E(- 4"%()%D, 5QVF MJ\0&KM 8^.(6!14.,10( 6';:8W&"PRQM,$.%!"#656R)&@(8E"_Y%R3* >2 MW8&8Q"2>*Y*]_O49K]M7%X,LH(Y9']% N17-41,1WB.BQLHYZQVO9/ WFE M^_Q^F<5B"F7:AGB_OT 2B#A8E"(1[(S1E \U 0>D(Z0J)X/FDE;EK)&C5 MJXF5K"5JG82F R,0!Q!(&&>&M)U@B%.3T:O+;^PK$J3'\:O#>U@$@ 7X &C< M=&0=I'/I]@0,A."FXKR\1^TU5@'Y1 ML)Q]1;APGJ::[6TYZ(>,W2'#"LA+)^M,L*7_,14-S)N!]L;"H2J#106O>POY MD 6<:7Q)3=X'HJ8#N]P592DJ2*6Z%J5T5;77VSU".VCJYC:4G?NJKS"?YB)2 M3/S@Y2KPFG,50I" ,)9_D>/21GZX$85')/OHD_1B3U'<,[%-+51X,=;$ ZU(! M&CHF]++D[DO,ZK@]) W$PE(6U$M8#K&-Y1^!Q$H E[5KSS#,L4T)O5_C^B\Z ME>"":X&__;TZ$03=U^:;J*HEI-]N959>L.VHIR)SOH7Y[M-4WO,\\@,,;;$? MFU4>%1&;6]^<<8#QFC=\X3A1JU76LI%XYJ6^KQ2%I'X:"%5.,N"]D2/Y]MDZEN#_[1B3L\^= MQH;>1AONC,?,Y>;2IV&2.] .9FE36@B-D>J<2[S@/;66.-BA%;PS _RPJW:5 MTSE'8Y=5 >CCB0R=47>"\ U8/UH6\()'2R%.PUMM/4I\&A!0I3 M!4'34-17Z\RU^.@^<2LTY "I3="<&@==VT?; U^(AW#P$(.F'Q/!\V0WBT"% M>!P,&(^GE$5.&NIP,"ONE(@0"83K/:\_Z+G_L7_,W^.@@>J'D)FX(TW/-DGS M0;D[I$U3Y>H3R-U5EHX^R3!C,->3OCYGUS@GB+ . MN]^+F?9CJ_%9AG[E"Y!S@?$$TATG\X">M ?NO$;1'1K1!\>'6+3^JC>6'+P^ M$Z*)6'7O&+%[HI*S=T\[FV5LE(S"-AZP:B$H0UQ@_T6%LC"EVJ+,H"_=V5CI MTHVY8ENY,]R>JO@D8^/$Z\&]_\>*#_=T-)D 3MA;-8"6CD4\R=K 24\NQ>4I78W\M91\6P:P.X MTH'*5]V-!W'$MJ59# 5'FBC4EH/FED.[&].L$R_&T,3*L(4M%!R+@G?INGCXOR:MKT0<^7[6:J%YS3XU[/<.8NHT M #G*-U-^ .]:-05Z\\XNE::)8#)==\4W$MV@&;7SV]KI7N6\,X3&:Q3RW3X. M_N-X_2MIBK(Y_R5,6Z=)%KC7?(V=R&:%/ZY96;M;(/P?H VO\,/4/&W3I#97&&,L#%&]%T@ L$,\K%I,())PX9\42%_-"8\/?0C0NNU\*=3Y_<3Z1* M;1SIC&1I'GN?HR/WW)H$G2?!'B;@,-4&%]M]:[>-O< M+&V+P%UWN_OCXY?Y691""_PT!!7:I!6*.N]LUZ.]7;.-/)']$ +<>:HAHMEL M/3#F!K8+ 1!'DRA_!Q7FL[0+V-!-!P82%G[@F"##X:89O%P+XN;0IQ0SV)O=<&8U8 M\0L7 F:GF-\33Z1W:.=8$^?^ZH%5RAC/#R)=%2ZD5!2.8U6?4P[[-OF!D\70 MQS%'R2=*M= +^A +/SX!H'9?*\5?X[=>%^X3I\UR]Z'8'UPO<*)4O M3O;&UL MI51?;],P$/\JIR#QA)HLW<88;:2U \'#I&D3[ 'QX":7QIKC"SZGA6_/V6E# M05LEX*7UV;\_=W;N9EMRC]P@>OC>&LOSI/&^NTQ3+AML%4^H0RLG-;E6>0G= M.N7.H:HBJ35IGF7G::NT38I9W+MUQ8QZ;[3%6P? M-SYLI,6L4VN\1_^INW42I:-*I5NTK,F"PWJ>7)U<+DX#/@(^:]SRP1I")2NB MQQ!\K.9)%A)"@Z4/"DK^-KA$8X*0I/%MIYF,EH%XN-ZKOX^U2RTKQ;@D\Z K MW\R3BP0JK%5O_!UM/^"NGK.@5Y+A^ O; 7N6)U#V[*G=D26#5MOA7WW?W<,! MX2)[AI#O"'G,>S"*65XKKXJ9HRVX@!:UL(BE1K8DIVUXE'OOY%0+SQ=+:EOM MY98]@[(5+,EZ;==H2XT\2[U8!&!:[N06@US^C-P;N!&!AN&=K;#ZG9]*:F-^ M^3Z_17Y4\!Z["4RS5Y!G^?2(WG2L=QKUSOZE7KC67!KBWB%\N5JQ=_+1?'WJ M%@:3Z=,FH9$NN5,ESA/I%$:WP:1X^>+D/'M[I(33L8338^I__V3_(?> H.0R MM-V0V6 E"]@HIZEGJ#1WO9=+DYB%$,Y\@T"NTE;Z&TKJ'4M2IETH/&JU% MMX[CA$.EU@\]-^Z.$^MJ:-1?\&'&PO=V]R:W-H965TI@CX98:L\EV9]2YE>70TF@V;@LUJD MC@=&UY>E7- ]N=_*3P9OHU9+HG(JK-*%,#2_&MQ,+FZ/>+U?\+NBE>T\"_9D MIO4#O_PCN1J,V2#**':L0>)G27>49:P(9GRK=0[:+5FP^]QH_^!]AR\S:>E. M9W^HQ*57@[.!2&@NJ\Q]UJN_4^W/,>N+=6;]?[$*:Z=' Q%7UNF\%H8%N2K" MKWRLX] 1.!L_(1#5 I&W.VSDK7PGG;R^-'HE#*^&-G[PKGII&*<*3LJ],YA5 MD'/7'Z0RXG>9520^DK25(43,HIK1;=!4?2$HG/Q41)]D5"R M+3^"4:UE46/9;?2LPGLJAV(Z/A#1.)H^HV_:>CKU^HY_[.D[9>-,L[-6_/-F M9IT!./[5YW-0.>U7R05S84L9T]4 %6')+&EP_>JGRJD21$V*N9$Y<<4),$.] M2A6+KJ@L$D'6R5FF % OM)E,%1EIXG0M7"H=-"LV1?V)=2XEH8JRPH:5I40X MW5C147 @%FK)&_+J%+6'G1HM:Q:I"IE\10%!P;=*\P]F8ZA7#1>@CLP#81?V M &X53L4R$]):'L18IN1,9; *4J]_IB5E8E);]L9[QWN#UG:WUC-& SQO/:GE MIXW\4'R!<"R-6;,7(2AZCA&;>MW^@;Y5"E,<_ -P8$S**\6+C&-=^9S(M=^' M93!H*GA*CR!MRR$OD;)'!?;"2R?Z3&0)9YH]L$"!.W1D9"]&!-/2"*ASE,S(M7X@F6^$W$DWTOVB'%/^\L?1"O)>F.,1YU=J_ M%GOBU4]GT21ZN_4T.3LX.X\V#Y\@HTM_N&Q$F^7-[^GIJ?_C^-'N3H8RZ0+& MV=L/&3W>.X*I,D;JK?+:7ULB\0LP+*(W G%Z(J:5Y5 VGO:!$.MY%P)4D&*2 M<0H#2B20!4L"A!,?>Q&GLEB$6E&0 \ ]AI+N=LB>-N!Z7L2>00<*%D64A;IH M?83%0(K+**EAM-&!J808>:"L9!N5Q"ND]S_ D=EGUNCT:,\9F\&3.K >=KE< MBQEC%X!9=M5R6<3>B\K#'![[ML:SWKP3_!!)Z8\T$G?29%I8E5=9L"?7"67! ME^=6,'M9II,J]RCA<,99E;!N \L*!&"I62) $16N+/C4(-N&*_9 Q,BR5]]^4;!]M10W*M%H>8@,@QULBB+=0BCYJKNF 3A+!&I!!U*P3DV"@5" M\SDBU::B+_UU4MK0@X?XD/@A4["08;M80XU+)F#/1!WCNT96'*(_0YFT>/F> M'IXP"(IX:I-\@:2>/:Q$= M#R.L_=R7(#$9#\_.O"(\G4?[XJXGPWXN;#>9#,=XXIB6?72#\N7.@P\"=GY1 M2<06&$Y:]WWSC!9'>7O14,8/4 4:]54!:,2Z^%H5H4GVQ?\2(IJ,_0F&^MVJ M\R>8Z26\\SQS[-!21_O[_X"8 A^P_&TFXX?#^SC5.(6;='!CP0MR0GTE@81JR'+7$^X@4-,!"1J- MN K4W]+3RE\A6!'BZM!-^&X$,5-YF:EM>54DF/;5,10W(?E]^Z@"+_!5?*V2 M!85Z8(W>KDZU^4)DP-6UWOB[6U\;&![@;&!-<89:A2)..^O=ZG2>9"36U0W( M?\E#?=7Q(B[Z/U!0;Z7^CVCHZ*3#/IWX3<^'T>D^KC;+\W M"BUMR.9"WEC?7V28_+[':XM]N_$( >WT5=PG_1K"\2OZ4EY[*S-_ZNZ)XX/S MDS'_3L;BKG?GUY,W8A(=G$\C$9V&P(C=QO3[DV>3]"10: M%\#\5F%DP$^XYG&NP8LMO 3+@AG;P7E18+C;)\^_ M 8=L )6209ZM XW W!)T'3J\VAX(!#]"5O8FTX[[?+34Z>L$H),"JQY_G($/ M-1'T%?$!.'H+3.-AU+?]\^CI'C.%N/_;*YF7;V]>D)3:];\,JB\[<.52!N/A MP,'YCSL8%?&:!U;2)-9#",>;O\45VQ![BL7\J<)R.Z=FN&2+WFCMSWU>54>?C5TYFX3_Q^;ZV<.$[6#O:?D6\"1_/-LO#)TB4 MUT(5[/LG"[]I[29=D[G_C$EF9#A!9B?:_1&]0MOT'Y; MO?XW4$L#!!0 ( /"$:5<("U["1P4 /L+ 9 >&PO=V]R:W-H965T MF,[7 M2M.U%:YK&FD?KJ@VV\M1,MI_N%&;RO.'\?*BE1NZ)?^IO;;8C0>44C6DG3): M6%I?CEXG9U!/Q1MW=%:L"$:0^+NC-U37# 0: M7W:8H\$D*QZO]^AO@^_P924=O3'UGZKTU>5H/A(EK657^QNS_8UV_DP8KS"U M"[]BV\NFBY$H.N=-LU,&@T;I_E_>[^)PI#"/GU!(=PIIX-T;"BQ_D5XN+ZS9 M"LO20.-%<#5H@YS2G)1;;W&JH.>7M[1!B+VXH=98K_3F8NP!RX?C8@=QU4.D M3T LQ'NC?>7$K[JD\FO],>@,G-(]IZOT6),? M]5'\]7KEO$5%_/V8NSU:]C@:=\F9:V5!ER.T@2-[1Z/ERY^2:7S^#-=\X)H_ MA_YC^?B/$.+:*F.%-\)7A#[XTBFG0D^8M7A;T_VM)ZHCL26!9K?24RD4&D8X M*-WU -["S]3'>R[@)#AK/!1;DZD.R1-0<] MG F_-0>">Z%3\>&8]Z!KUFNRHE3\QQX_2C=L"F.1?- N]W&%XQK*"%P?)^97 M5(K6NZ!R(DHJ5!AGC?Q,3/^.ITP W#OFCL2Q"&-7%\166&F @-8*0Q88#I:8 M%B16B%E=FR($"'N2(++SKO?9#D5Q")BE,_'RIWF:3L]1*@@()^P->MIB'/%! MDIP+TIN05_C'WI;DU 99 ;ENC4:"2B2P@<9W6+\5OA[@C? MV[VM8F>+D.XVE%KG5:W^@;FRLTPVF+2J1JUOHN-*Z7%"EGC;5IC0+E2;JL/A M!C7)5I'SO8^WK3%U*)J/5%3:U&:CH/3_/(T&-]FJ=,X4*J2!"TG6@9)VE8&[ M;K#?JA:9/28Q.([$'SD6P0^0";$(G852D%OY(##%M M-L&\<.!X%KP%@6$?4 M"G$M$8"W2J.6%-@HW=_GK+-Z^*X3@G5VWE>6>H\T!$33#WKB02\PICTU*QC8 MS^H@B$4JE-M=\\&7%=_]I^)C #N^+,3OC/K5EX 3, ZK&[HCW:%*OZO.%R*9 MIU$^S\,JQRK!:C*;1NDLXU4<1Y/%Y*F4)_$DRN;3/O7IN4CS2835L/]H.'6V M-^]$.I]%\UD\6$(Y1?$B'ZQ\&#I7:=3H8X1/DE6Y5$)=E@Z9WV&'/.[Z5/ MZ!YO/4>O(J'Q'#Q)HFR6OA))E.2Q.$%(%W/>97DN/H3"ZO5ZZ70Z9^,>'D/;UZ(^33*%S-.419-IDG(7Q9ER8)7*2*$^'*P %)W MZ$&>N*ASM%2HLKZR"^,PP+3QF-D6EU+](*3W5JVZ_E+ "#2/#SW783+*8U2Z MIZ+C)^+N"@M]<# E2[R^%+\:@LRZTZ$QW>ECE_[XZ$'6D-V$9R<;Z[3OWV;# MU^%E^[I_T!W$^V?Q>VDWF#.BIC54X],97CFV?VKV&V_:\+Q;&8_'8ECRA"7+ M CA?&^/W&S8PO/>7_P)02P,$% @ \(1I5]?+C-@,!0 UPT !D !X M;"]W;W)K&ULQ5??<]LV#/Y7<.[6:^]46Z(MQ4X3 MW\5I=^M#>[EF71]V>Z E..8JD1I)QNK:JY&K+UO,)+ M])_J"TN]48]2J JU4T:#Q=7IX"PY7DQX?5CPN\*-VVD#6[(TY@MWWA6G@Y@) M88FY9P1)OVL\Q[)D(*+Q]Q9ST*MDP=UVA_Y+L)UL64J'YZ;\K J_/AU,!U#@ M2C:E_V@VO^+6GI3Q7:4;S$6+89X!&,&[XWV:P=O=8'%OOR(^/2D1$=J(0X"7F(]A'$< M@8C%^ #>N#=R'/#2;QEYT1D)?YPMG;<4$W\^9&\+-WX8CO/DV-4RQ],!)8)# M>XV#^?-G21:_/D!VTI.='$)_XHY\+P8LI%,YX.Z$"Q-F!>>E= [.(#=519E" M09=_ >4@EV7>E-)C CL;6[!WSB&93A4990FT\:J^HR=S(/JIFG= &R3)% MJY&,_XS0. Q:U>I5;C1I9,T5^C41(LH%>K0$W"[J@>]@<;6BJLGD=NFQ+!TXL]3[^,@E9/1XAK[.W6_3]$KB'3')M&JFE3 MSZ$0QMB_\T6BIMPUNH<=XT9PF\$L3(E':/!I%9A.$O5/\28-2Q#DC/'XO$, MZ,*<#D5W3*@6<:^ PP>!9Z23:!MWW(W*\"+\1+6G0$DTD"21J)\1B2+$K& MX@=X]'8S9AI-R&]9$B5QQGN3$>11%HE9!GLGS1[JO>V.A],D_%+!;AM.C\*/ MD+X)L;,'3"=@Q2U6TF*UD.,X;!/GB>Z"D^NZ+/YJ0FHIW>;N70+T;GPX51J* M?GNHDE(K>-.-0$D%]W:D&%=Y>#= MY]5AB&P1V3#^.:P-:CF1JS:1,20RW:P\AH.GNUZ%:B'2[Q03PQ 9!\[9#LR' M^O(D$EQ5\"8XU%%B#3.Z\)*_^.Y.TTDZ%-U Q!6_;NTO;R.V_*L#]GXA7]PK MY&W%W!;@C6G*@L\#207Z59=8PX>NV3Y[VT5TH[*'%%HO'PB"ZPMGU&M!UOZG!U7QI/#X'07-/+"RTOH/F5 MH2-EVV$%_5MN_B]02P,$% @ \(1I5V%"-0^$ @ P < !D !X;"]W M;W)K&ULK55M3]LP$/XK5H8FD+8ZK[QT:23:% UI M3!4=VV>37)N(Q,YLIX5_/]M)0PNA0JQ?$OM\S_/XSJ>[<,WX@\@ )'HL"RI& M5B9E-<18)!F41 Q8!52=+!@OB51;OL2BXD!2 RH+[-KV*2Y)3JTH-+89CT)6 MRR*G,.-(U&5)^-,8"K8>68ZU,=SFRTQJ X["BBQA#O*NFG&UPQU+FI= 1UV%HC'""12%)E+7 M^-MR6IVD!FZO-^Q7)G85RST1,&'%GSR5V<@ZMU *"U(7\I:MOT,;3Z#Y$E8( M\T7KQC<(+)340K*R!:L;E#EM_N2QS<,6P'D+X+8 ]R7 ?P/@M0#OO0I^"_#? MJQ"T !,Z;F(WB8N))%'(V1IQ[:W8],)DWZ!5OG*JZV0NN3K-%4Y&,_*$5@+- M@)N:HPF@.!=)P43- 7U%=_,8'1^=H".44_0K8[4@-!4AEDI;,^"DU1DW.NX; M.AZZ851F DUI"FD//MZ/O]B#QRKF+G!W$_C8W4LXAVJ //L+5P6>X0L^4@5]C]W0>?UTNK<-1442&%FJ>0G@*["BSY^< M4_M;7Z8/218?DFQZ(+*=-_&[-_'WL4<_U9"XI@DK 1W_8$*<]+U#0W%J*/1( M6$6!&YS;(5YM)_BUE^?X;K#K%;_V:DDE\*69 M!0(EK*:RJ&UL MG951;YLP$(#_BL6D/;6%0)-L&2 EW:;EH5.4=-NS@P^P:FQFF]#^^]F&L&Q* MJ)07L,W=Y^^,..)6R&=5 FCT4C&N$J_4NE[XOLI*J+"Z$S5P\R07LL+:3&7A MJUH")BZI8GX8!#._PI1[:>S6-C*-1:,9Y;"12#55A>7K"IAH$V_B'1>VM"BU M7?#3N,8%[$#_J#?2S/R!0F@%7%'!D80\\9:3Q6INXUW 3PJM.ADC6\E>B&<[ M69/$"ZP0,,BT)6!S.\ #,&9!1N-WS_2&+6WBZ?A(_^IJ-[7LL8('P7Y1HLO$ M^^ A CENF-Z*]AOT]4PM+Q-,N2MJN]CHHX>R1FE1]Q%"V2-MK0[,"5ZK*-'.7VI>RT-$^IR=/IVAPO 8F> M)":4%V@I)>8%F&/7*O:UV<'&^5E/6W6T\ (M0H^"ZU*A+YP ^3??-V:#7GC4 M6X6CP!W4=R@*;E 8A-$(+QK*C1QO>H%WKLP;M']%:T[H@9(&LW-5=]#H/-1^ M-PM5XPP2SWP8"N0!O/3]N\DL^#2B?#\HWX_1TVW# $V"_?1V V MO_K@QOW&N1?]_)/^4($L7!=4*!,-UUVK&%:'1KOL^LO?\*Y+/V)94*X0@]RD M!G=S\SIEU_FZB1:UZS9[H4WO&PO=V]R:W-H965T"I"B'=KW[D%@$@?MQ[KD?X,G6^:^A((KJKBIM.)T4,=:OY_.0 M%53I,',U6;Q9.U_IB$>_F8?:D\[E4%7.EXO%3_-*&SLY.Y&U*W]VXII8&DM7 M7H6FJK3?75#IMJ>3HTFW<&TV1>2%^=E)K3=T0_%S?>7Q-.^EY*8B&XRSRM/Z M=')^]/KB!>^7#;\;VH;!;\6>K)S[R@\?\M/)@@VBDK+($C3^W-(EE24+@AE_ MMC(GO4H^./S=27\GOL.7E0YTZ351.6TUDT9K]WV/;7^B(&9*X/\ MK[;MWL5$94V(KFH/PX+*V/17W[4X/.7 LCVP%+N3(K'R%QWUV8EW6^5Y-Z3Q M#W%53L,X8SDH-]'CK<&Y>';EJ=9>"T)NK3[82-Y4ZIVQVF9&E^HFZDB(0@Q* MVUQ]B@5Y]0%+03V[=;JO4AZEP_H_5E]=#860;VU.>6' MY^?PH7=DV3ERL7Q4X W5,W6\F*KE8GG\B+SC'IACD??B 7F?_$9;\Q]!9JHN MG0UP-D] ,1 +@"5'KE1Q/YUO@K1@WG_'D,H&7 \;@!GX^M0ZXQ.)S7K\K<>_'WKT?'Y-^=J&#"6SWT(\Q(_\/,>JW@M2ZQR/L\:C3+LJ5 ML2H6. KZ.1_Y3WJ%55+9 =J0?@D(FS %/;.9>O;]=Z^6R\6;M"AKLG+TY@>) MC(&BT*R"R8WV8*=ZQC*[0ZZJM=UU!Z8P)"N;W-A-JT2E'3@W5;_^>GE?6_^V MDS!3 SL4/-*J<*4(S)(NM2U<(.5LN4/FH!XM32581!+HU>FY+.=JDY&8(#OF[SWY5)]9JD/^L" (0($ M>ZW>L,J*JA42OX_%0"ICCB:!(M(^P/[H49>4+DL^P=)630!U0MJ@UVMM?'A0 M&@3D3<9.X%]_,A;>-9MB_,C]H,_4.8<"6* \3P_\V[.+DJ=[JJ;M#QOV#;5X M,5&8M5EGG[?.EPQ:'U%/I>: 12<*>7_'[#84.!N5VUIL6NV&YDY!'Y,5$ %( MH-$R;2SB34K'Z,VJB7J%2$$T\XX.8.URX^CE&[A2@G3JG+E203E:2_9UJE#] MU:TN&U)_6\P61PJ!5*'0GO9L&3FW9\[;NXSJ"#XKQZUA:T!U8W.3B_VN2.=(>8,#O0@H&09J6[J\T'8$E#.VB:WRW*L)9[C#Z M71@'+,CO,>>35>]HY1L,*6KY*G640PIU5'26&.W[M)A*/I8D(8?+%?E-2AY^ M>E?2W4TD*O?4'E:HC[*YKVB=*MU)V9I8J/<8-JY-OB%U30$N9]15Q_$*V,KN MC^WC=^#LR\Y95 _G\X3>6F=<9 "4F/]QS(PIUS&ANY4T-#8>K1RO<%PUZ!276TDF-IWP5$E=0PEMIC MM[N72X>MY!+@#QW=@\H-L&Y\+75_?0";%J;3>HVQ5%Z(U\%T!6%@"1@JDT7/ ME_>IL3P6ZMG#VUFUYF94EKOGJ=0<.KHG5>V-\UVU:BUG;2F2]I9\BB1VZ(>[ MT31U BY1>+WVKAJHV*?E@ "!RU'L8/@&X.0QU\JMLKJ"T#%GA['NWQ_&9E#G M'\*ZT+?H6D1R]> [1*(N<@T1:QU,31X#K V4'U:4T?%'() :6+K AWEOY^V0 M!UW28ZB-J?%VD^T,:Z3^Z7!NJ7 G4SK/Y0PT&9LN:>F^=-!Q!L+!$## ;5G_ M"/]Z!-!X2)!N>[N,;%NW+UJ!-N+6:QG^0H.6<9F:G\3IIG:NE-;T&V6%=:7; M"#\9_\9JS%PQ@?9D^/8AJ>76DB+"T? Y=E.J2?S>]187$+ZMA+%+ MX?\F >VGS5AIV>#24VC FS@!N*$("3D/I2A5^BM :Y"F#NV#>C5RM4 AJNH$ M>2QTY+O&OM/VR9&BP;-[YC;6],VEY4K3LHPO::!>U]EDM$NWM2F.WI)M6K4< M$E0Q,. +[ -IDY$I^Q^V<$69;K@^H*%J8P]27JR'M_P>/2^GFC/+2NJM&^:Z M8@O8O@S)#0Z!&IDNLR95_E0,58&.B\,;3^(2XI 9^:(FS4C?:I.*-&*ANS)W%Z-#GG@T]W,N#S!TJQ MUL;T%:]?[;^!GJ=/?_OMZ0/J1^UQ50^JI#6.+F8OD:4^?91,#]'5\B%PY6)T ME?SDZ9@\;\#[M4.+:1]80?]E^.R_4$L#!!0 ( /"$:5<5:!#$/ 8 +(. M 9 >&PO=V]R:W-H965TNONAT;#X7);=M78L**U-M2N[P:68=6QO!"R]4 MJD[<[::=DLNJ-;[TN)1SN:.)CKC MRYK/Q)-PG^L'@Z_.1DLA2U%9J2MFQ/2J==V[N$EIO]_PMQ0+NS5F9,E$ZZ_T M<5]*W]SML.6R;"40>]SA((_R=^[X^-+H!3.T&]IHX$WUT@ G*PK*DS-8E9!SXSLE M7I^<$(I=Y]\:::7WU>DSGRAASRX[#F?0SDZ^TG<3],4'](W8!UVYN65_5(4H MWLMW@&T#,%X#O(F/*GP2=9OUNQ&+NW'_B+[^QN"^UY<S:6M3 MA?^O9Y89Y W_^WS0SBFO_\8JJ4+6_-<7+50+%:8%]$:__I+ M+^W^=L2(P<:(P3'MXZ=00DQ/V4-C\CG2DCT8F0M8A7HIA/%V[8-]7/'S7+ I MO*)8O=9;>[WYMEX&,F .6_F6MZ1E)VF M' 7.;KF=[YQYPM*X%R7=A%T7Q07M=[*:BE82]<-8(< M]7X7XEK9J3 &J$AS%@W2Q,L^"A^PREEOHK!.HOBQ;?JF#G9 XZX'"FQ;SPMN MJG.0(*OYLB20F&]JYC0[R=X\A$E>%%X:+L]_-%H"MS .Y H&?!$5SIXA5]R< M.6YF ABY$:Q$XDZ6;%/+;?9\"/DA> N85 @G##@&$E0D,\9],2,VW"C-K"P; M%6"1KC#"T7-=:*5G2\^.!<-D;?2$3Z22;GF^\+R(^5H8WT.JG')*?PFT;'V6 M:& R3%9UXVR$_UPU10!02)OK!@#A$-$^4CK)IG22GRX=(Y2$O?2YDXW72-+\ M8 T=/6%_Z?O"\JE/=CFB5_+""T(=\JS> L,WIZ_CM5.-A_,OA'ZF=;% CE'; MI/X']T^H_R+$.5HWA>FDVTXW>3@UNO3JM)&S4/Y;<'8/?T,''!QG6+1 E1" M=6.$3RB$6VI4?/$%38QF$%C($Q.H)624STS4 U2CC"VBOJ\ FIK@$23Y_9U' M@ MJ7XO!>'D I/4<%F21=D@8_=;RD<]3*64K#674/V*^Y@5VW63-[ '+N?4P2SK M1?&PC_W[\*"+#J-1DK!/M?MW@HA.XW3:!AG9^P.&4-$$XS3$R5G/-#-Z2@;G/U@ M_CLEHVYZQGX_D"98[D>C+#Y;V;2]!/N:$B*GO3[UD^$9^RC<#U8/^H,H@4_^ M7!?I">N-XF@X&K$C_)9N^"W]67[[7''0*)49DL%S+W*-*L+N([6C:@^36K,Y M!!7 PBE3[WV4$O(EO!M6%X159Z66I,WV8KAPU)I"K"NU7-\=*B%7K:&0Q#DO MFPX6:MOSH*Y7;$%,RHD.&E6P.:?-N4^3@AKI+EW..07WJT"_4IQXS?DM$P$& MK"@UUMP;F.P->Z5W 4T;!]Y; X'H"AVQL1'BW9V8?81KW\_@:AO[^VT8/89. M3PP19X-HB'(]8<,LB099'Z,L3:(A2()RZ[[*=4G0G9&3)K05D-,M+JT-& W+ MN#SWH^$P8;T^BBU.V; ?Q?%@;ZIUMMX1I<#]@EY+EOGB#$^*S>SF078=WB%O MV\-K[@.N)Q(!46(*T6X[0\\TX844/IRN_:MDHAW>.'XXQZ-2&-J ]:G6;OU! M!VR>J>/_ 5!+ P04 " #PA&E7&WQ $J(" #S!0 &0 'AL+W=O*!%[::!)N9G>.+2DP/&$^3;:K(V6O!+M"FZ5M)6!C[+ XA ?DO).?K*3/TM. M$BZP&4 :]2&)DO0$7]K]CM3SG;_"]_(7#/R<+HW5]&Q^'4NTY4F/\[A6NC8- MRW$24*\8U$\89._>Q*/H_0F5PT[E\!1[MJ#6+-94*57"7 G7FQNF"V>>J-NQ M+$[&.9[%?>6X71@N5\ -,-"'&M1: SO0D;@<6ZR7J[C' 6XC[T2BB->G' MY\X^BT<]OT1N2?OQY<7_4"5P,8PA289P-DI[!._!513#L3J&>XU8HU[Y<6/ MMUC;D]UI-]&F;2._N+?C\);I%9<&!)8$C087]&1U.V):PZK&M_5261H2?EO1 M5$;M'.B^5,KN#!>@F_/9/U!+ P04 " #PA&E7X3=K[WX" !>!0 &0 M 'AL+W=O"A3-MAZ&'12;L87*DBG;.73'W0D<(!>;6(3!:MGB- M0C@@HO%[A^D-)5WBH;U'O^UZIUY6S."U$D^\L-7X+=2QOF&79 M3*L6M(LF-&=TK7;91(Y+=RE+J^F44Y[-[N06I56:HX&/W]A*H/DT"RPAN_,@ MWZ$L>I3X#91+N%?25@:^R *+?_,#8C30BO>T%O%)P"4VYY"$/L1AG)S 2X8V MDPXO_4^;KW##32Z4V6B$GU R7% IY6I:5B.<3=$<#W=$I]&Q)VBLV D&MX>"&CM$\"72 ]QXD>C$1FTIB$\D0[/N#QK MM"JIJ($H\M,PA-0?4=0MEYSFM8!2J8+.QA-_'+IT,+$3Z,+LJ)Q MY,>3!([]T>!@YFO49:=LU\]&VG[\A]WA\;CJ-?,WO']Y[IDNN30@<$VIX?D% M39'NU=P[5C6=@E;*DAX[LZ('$+4+H/.U4G;ON +#DYK] 5!+ P04 " #P MA&E7 6DEAU(# .!P &0 'AL+W=OACW0TMDB(HDJ2<7IO]]1 M+X(H M>-JX5;O*^8UP.>_D#N_0_=FM#5GAD:54#;96Z18,;A?!531;)=Y_T%88^$\@Z37 UYC77LBDO'CP!D<0WK@\_43^^Z_HO5;IJ$60!E+B5?>UN]?YW/.23>KY"UW9XPG[T32ABT5NGFP.8[$:U MXUL^'NKP#)#Q5P#B !"#[C'0H/*C='(Y-WH/QGL3FU\,J0YH$J=:WY0[9^BK M(IQ;K@WUU[B?(-L2/OWH54<5=PQ:.@_OO\E-C?9B'CJ*Y/W#XL"Z&EG%*ZPY MW.C6518^M266+_$A*3S*%$\R5^(LX1UVEQ!S!H*+^ Q??$P['OC2_TF;P;J6 MK7N9/?Q]M;'.T('YYU3J(W-\FME?HIGM9(&+@&Z)1?. P?+=FVC"/YS1G1QU M)^?8EW=T*E67!+5##-5T1C^@CV(A M(E0^X2!2EF0<;F11D6CS7S61F+(ICR"=LBR+X1:Q'LGLO2J))6-<9/#N328B M\0&^8Z4*.M,04_PH!Y$SGJ2$:IVLG[&**&5I%D&4)XQG&7SN3:M<;W"@WJI' MOR9VEO.4GM,TAVO==+U#_'T:A:#]M11I32E,4YY12S/)G -^WK 00 )8) 9 >&PO=V]R:W-H965TT\%P(:19!;FUY%88FS;%@YE*5 M*&EEIW3!+$WU/C2E1I9YHT*$<12-PX)Q&2SG_MV]7LY59067>*_!5$7!],LU M"G58!(/@].*![W/K7H3+>W>1;M@@B%Q *3*U#8/1XPAL4P@%1&#^.F$'CTAFVQR?T M.Y\[Y;)E!F^4^)MG-E\$TP RW+%*V =U^ V/^8P<7JJ$\?]PJ/>.D@#2REA5 M'(TI@H++^LF>CW5H&4RC=PSBHT'LXZX=^2AOF67+N58'T&XWH;F!3]5;4W!< M.E+65M,J)SN[_*I4=N!" ),9_&%SU/!-6B;W?"L05L:@-7"Q830SO7EHR:4S M#-,C_'4-'[\#/X/O2MK98?:S?4BA-O'&IWBOXT[ -9:7D$1]B*,XZDO->7&==F9*EN BH=0SJ M)PR6GSX,QM'GCAR&30[#+O3EFCHUJRAHM8-3/N=B[$0Y'^,F1TAS*@H"EY R MK5^XW,,3$Y5WMV_*)X1*F<4,K )5:6K84FGK= ,&]]3&5,VLTLZ:5 :2O$-1 M:P.=-H"8M5AL28 G>N' #-!OIPC\8*[@GN+R7-R0H:9>69=*">]C@VDNE5![ MC@8VRC(!UTPPF2(P"[>8'J$''CJ&CS#I3^,A/3]]F,:#^'/SYD[@\]HB4D[I MCXH;[K\>IUV#6=R?SF;-L^7D3 *O7D[[/])"U)_06@?QHX;X43?Q]9?4$5&G M_$; YV30B?F^#&H6/'^^XG[5L>KHS- R+EP@OFB:^.2OL;"ZF93_O%B24TLW MQAF]+=T5?-7*&&+:6%BE:554PLMK59"L^'_,L_([G5I^QXW_4J*3G?!+)N>E M<76G:B=11*.+I#^+!CT:S<;]A*BXQ2T_6+8'\[B'DSB M_BB:PD:S#"4K$ ;C>GV6)#T8C/K1>$(:2!_)&(ZF_M%K%%,S4_-^C(1 DGCL M0AE,*:K)L$L,XT8,XU\5PUUE79>T2W5.")UXYX7PQ5A>>!YVM0_6I@.?Z:Y@ MZ%/Q<]L^H+L=9,0.Q7;L"TI[-G&3H:OB;.K'H]9XW!I/6N/I:4R:I%O(SA*L M(SD:QDVINZH:MLY*$LS>WP@,I*J2MCXVF[?-I6-5G[6OV^L;RW>F]UP:$+@C MT^AR0IVEZUM /;&J]"?O5EE2IQ_F='%"[3;0^DXI>YHX!\U5;/D_4$L#!!0 M ( /"$:5=2"^(E\P( &(& 9 >&PO=V]R:W-H965TQ-4W=XK4#W;2O4PR4V3JSGZ46Z/( M6U.>6=W@/78]PJL[L6E0OUX$AE"M+\A'A,L!@?\#(8./LC.5AG==@<7C_(#8 M3)3X@=(E/PEXB[LSB)@/G/'H!%XTM1@YO.0_+6Z5;&%-7!5=!3IF4\':'3 J M^':QT<[^_:D#&/"CI_'MV)SKG/@MG[,T)]O'$/CZ%OKJE M,2SZ!D%N8>Q$P]M:B[)46 J#!6P>8$U"*=7#4^Q/X]]5=#*RH>&LNQ*,O07@ MVNB,!MDKFKRQ:/%WT7PL>@YWE4)\= _@$]5Y;+&?TS[XD72M9-'3UQB+P'/@ M8>SS+(%Y#"](#7GHSU,.LYE39RSQ9UEZ\$8\]5D2PRPA]88HBV:"(E>2'<338KVIL"K"?K\X11%> -!5._4,<4V7*LT2B MQ$^R&,*,Y# *_3AE@R/+_(CH<0M^)X_H:-M:.B=*%,G8T!M1B=-PTE/.?69A M1SUAC,HD@_[450J.YIYN<>FVFX9<]IT95L!DG1;HQ; W_H0/V_>C4&7=:6AP M2ZGL;$[3I(:--BA&[MP6V4A#(^/$BGX"J&P ^;=2FH-B"TR_E=5O4$L#!!0 M ( /"$:5?9TG.9XP0 @- 9 >&PO=V]R:W-H965T]C+GRN/!P"89YL(& MNL2"OBRTR86CI5D.;&E0I%XI5X,X#,>#7,BB-SOQ>]=F=J(KIV2!UP9LE>?" MK,]1Z=5I+^IM-F[D,G.\,9B=E&*)M^C^+J\-K08M2BIS+*S4!1AZU)5NS. M-^@?O>_DRUQ8O-#JFTQ==MJ;]"#%A:B4N]&K/['Q9\1XB5;6_X=5+3N:]B"I MK--YHTP,.)=]=I$ M3A8QWL!;[$,8!CV(0[CX1Z\8>ORT..- MGG?Y4MI$:?;:PC]G<^L,9[(;ERCFTI$CSM46E8-/?8F[U^%8W# M#WL(OV\)O]^'/KNM"P;T CY),9=*.DF$FWBE(!QL?=I%?B_\;O)W&<)"*ZI9 M62S!<3* 14H,Z@,N UT94!TN+B,2PB#D'5(+)G7O#YKKCVHXJ8QA/*HC:6&^ M!H7WR"GO,ED0"'9U,HE&F"1;'W?<8UQ*"(?Y'$V;%?#)XT3-&#?C$.ZT$ZI[ M:L=P)4SQCMI3RW\-!_#ZU22.X@^/9M&D/YG&V\DUZ>C2]Y*MZD9\,QX='?F_ M/6$?M6$?O33LMW)9R(5,1.'@S%(#]33HV#50HR/B]5L+588Q' M04RR-\V7E/J"KHH&)PJ#R<0#T6P:'\(%);AT3Z6FM;DH"D*:_1;3]^,.P0ZQ MX32(CPZI4=W+%(L4UA)5"F1J=+@GQ<9MBHU?FF(7&"R6*!*F. M1_WI..0Q"KON=BR_B=Y"%/>GPQCB\5&KNKOG=#H$5SSK?D-N>&V'G8.!I4_RY8+:=**U\:^6O!5=: M7M_"R+?P#OH!7&X57,8Y^4CC,[=>&$:U=)]B=Q &4>O-DMY[L*(R[?A+.YK0 M#$T2G6,?"GI4-BXDU!*TDJEWTSH:ZG<&Q[JD/N][1@!G"RJ+VF=IJ#I^5,+P M#HG5-!X?SHL.AF\:9$^;/&0"6 HN/+7F3B.(75[J@H.RY4,*M1]U5 ZB8<=] M$MN$KW, G1!8^?!\!#XV+;3<<;/T8?4XF<(@WF5^?_9T#HA6MW^\%GGYX>P% M06E<_]VDVM63!IW7:8YFZ=_@%GSKK!^J[6[[S#^K7[=;\?HW B7E4M+=HG!! MJF%P1+>:J=_=]<+ITK]UY]K1R]E/,_JI@H8%Z/M":[=9L('VQ\_L?U!+ P04 M " #PA&E7^IK#>KH# $" &0 'AL+W=O@#)8UM8252 M):G8Z==W2,F*LTB"/M@:2C-GS@SGLMA+]4/O$ T-+7 .P6Z;UNN MGJZQD?NE%WG'%_?U=F?LBV"UZ/@6UVA^[^X4G8()I:I;%+J6 A1NEMY5='F= M6'VG\$>->WTB@XVDD/*'/=Q62R^TA+#!TE@$3H]'O,&FL4!$XY\1TYM<6L-3 M^8C^Q<5.L11@R/'\A=N^&JAY!Z4U28T*[A0G361 MJX6]E+51]+4F.[-:XY92;. >.ZE,+;9P]L"+!O7Y(C"$;[6"YXB4N/^D&C>D1O]>E#E(6?W^&:3%R3]]!7:]?B"<9X7J/^/O@S8OT2L>@UJ6H->DP5?06S0_HI M1."B D$*T X7C?:BB49GL"U037?E%$E@4.NQWUTDA1T"%_#@P$Z+!7ZSJ"_> M.!R'\2S=XR.*'B_ACA*N>X5P0R:*NN8C1#GSDSQQ4D)21%(ZRWPVBZT4AGXZ M3V'=2=G8 H<'+'="-G);HX8H3/TXS^#3AYQ%[#.P)/5)FLX/TE"RU.!> \MG M?CX+)T\Y8WXX3R8OWSM4W!58+4K9OD;X+#J'A%#B$-+(9_,,(GKFX1PBEODI MF[U%-9[[,PKIR"Q._#!,?B(J?_(/Q#<+X\E33M%%\>3I5A@D?N:H?88'&OH: MSWT0M!?.(C^>L7.(_"@)X8Q2.L_M*4X2^$[%H4:[09MEF=5D*<043D*I)7P' M6R!5$QZ=&'Z@:#Y"GOG)?&:O*/;3+'+W%_MQ-+<2HPQ1?FVR"*3I*S(II:+V MY68H1^D(E%(;#4(:J&I% []Y FZ,JHO>N P:";)7=(''QA_KVU9GN0-^BHH' M+'N[*VC."EI,K@^>7?&*QG!MIX;3V?3"[1=]\5K3!R>3N46U=?O'.NN%&8;T M]'9:<5?#9']6'_;C-ZZVM=#0X(9,PXL933DU[)SA8&3GYGPA#6T-)^YH3:.R M"O1](Z4Y'JR#:?&O_@-02P,$% @ \(1I5_,$9ULZ! *0H !D !X M;"]W;W)K&ULG5;;8A'D_L-@^=/D#D2D)- BH 6DZ_O@M09*145IJ^$!=BSYZ] I.MTD]F MC6CAI2JEF09K:S>7_;[)UUAQTU,;E/1GJ73%+2WUJF\V&GGAA:JRSZ(HZU=< MR& V\7OW>C91M2V%Q'L-IJXJKK_,L53;:1 '[<8GL5I;M]&?339\A0]H?]W< M:UKU.Y1"5"B-4!(T+J?!57PY3]QY?^ W@5NS-P=GR4*I)[?X4$R#R!'"$G/K M$#@-SWB-9>F B,9?.\R@4^D$]^=K)EP0U>J_*S*.QZ&HP"*'#)Z])^ M4MM?<&=/ZO!R51K_A6US-AD'D-?&JFHG3 PJ(9N1O^S\L"4!ZOIKR Y.[OE6@JY,K!!#0]KKA'. M'OFB1',^Z5M2X([U\QW8O %CKX"-X:.2=FW@5A98',KWB5C'CK7LYNPDX -N M>C"(0F 1&YS &W36#CQ>^CUK[SMK?[]:&*LI.?XX9F\#-S@.YPKFTFQXCM. M*L*@?L9@]NY-G$7O3Y!-.K+)*?39 Q5@49<(:@ES;D0.7!9P(\K:8@'_#MPQ M_J)BIQCW%1OOPYR7>5UR5V;F$A[7 M&O$@$^".%!_NN("Z#]N;W=45:FZ5OH0[:D="YJI"X-9JL:@;=E;!-<6J-O!! MYKUW;T8L9N\;CF\A96$ZBF@RB,.$I32)610REM!L. [C47H*5RIYD1-%30YQ M[A#2(@75PEE\#CM-W:Y49=LT<[8.1T:0I+$$*)?8#Z3;BCWBCV0\JS%P=#Q6U&#% M#58#.8A\F%R=R#8Y01C@Q9_4F@E 2%\E>P70N?%XJ=24_=K+B*5+-_*>.UFA M7:O")0SE45D7I._UG'+2KV9K2\6%QH"PI%SCA>4O'5K+G6YTX) KO5%D& +Z M-'#1=Z?]%MG"LE[TDS_KU;I"KII"1E_(U*(M5@LRJNW3OENP] ?%6,]GQLWK MKFO!K.\O_XF$ZRKXXAUJJ+!Z&5VAY"_W&J#?<=IC[49(+PRS:>POOX3.\NVW M*=ZF]G*74W-R7D4\@&[I_,FYV]%KW$B/D;HL8$'^EE9N;TJR ME7^D& *OI6UN\FZW>P==-=?_U^/-(^HCURLA#92X)-&H-Z2;4#MP]@]02P,$% @ \(1I5PV^SZ': M @ L @ !D !X;"]W;W)K&ULM59M;]HP$/XK MIVR:.JDB(2FP=1"IT%7KA[:H:-MGDQS$JF-GM@/=M!\_OT &%63:Q+XD?KGG MN7ON'%^&:R&?5(&HX;ED7(V"0NOJ,@Q55F!)5$=4R,W.0LB2:#.5RU!5$DGN M0"4+XRCJAR6A/$B';FTJTZ&H-:,\9;]QVHV6.5$X$>PKS74Q"MX% MD.."U$P_BO4GW.CI6;Y,,.6>L/:V@RB K%9:E!NPB:"DW+_)\R8/.X D.0*( M-X#X!2#N'0$D&T#BA/K(G*QKHDDZE&(-TEH;-CMPN7%HHX9R6\69EF:7&IQ. MIQ(K(HE+J5C +=4<)@IHE&4S:M@/ <'G2!$F[-DH*S:]2$,O5V M&&H3BB4,LXW;L7<;'W'['NX$UX6"CSS'?!\?&@F-CGBK8QRW$LZPZD 2G4,< MQ0DH7-J0X36$H HB41T(<=+.>(V98>PZQO@HTUZP29/TQ%'WCE _R"7A](?/ MNLWJ/=&U1%N API]-0Y%//:TR6%:^\%?JHID. K,%ZU0KC!(W[SJ]J,/A^2? MB&PO Q=-!B[:V-/[NIR;%.4RA1+EVO5)")FFO?'YK5IAU?N2X4_C;WO?R. MR"7E"A@N##3J#,QQD+X_^HD6E6LQ#CFSWC/\2&4HE>TB03MX.- ME-OKX5"$&YH2<<6V-%._K!A/B52[?#T46TY)5(C29&@:QF28DC@;S&^*8U_X M_(;M9!)G] M'8I>FA/^ZIPG;WP[PX/7 UWB]D?F!X?QF2];TD"<5^!50FLOBE-*L&DKV!:":9]4[(K@=U7,*L$L\(.Y?4K M+OZ22#*_X6R/>-Y:T?*-PD&%6EWS.,O-_BBY^C56.CEW$_KR*"E-T%WX+ MN+#@)_29<$YR'Z+W2RI)G(@/ZNCWQR5Z_^X#>H?B#'W;L)T@621NAE)EDO.& M815U448UST0=H0>6R8U 3A;1J$/OZO73_]-[>OU,HQ^J,UB?1O/U--Z;6J!+ MGZZ0:7]$IF&.NLZ'7OY(MU=H9)R5+_7R!\*5')^5._VCFUT7XVW)>V^3^V]+ M/M#+ES2L3YVI,<*HOI]&!<\ZP[O?"75$B,;M],^?ZA@*)$W%OQTIWI?(43U /<\$Y<]T,/_]-SPQ_NAR&B1L"0ES(&$N),R#A/F0L (UO#R MN/;R6$>?.X1GG]0+$DIB\A0GL?S595XMXU+SEK!) WQ1(RH@,)<_ND[_5IY$.F%0#!&LZ;ULZ;:IWW MC;P@^K*EF1H5B1 LC O?[6.Y49 P'Q(6 ,$:_K5K_]I:_WZF4GW?ARRE76;4 M:B\UH]T:&"S3LD]'/\B0CMVR[ B/3:L9TH4,Z;5[B?//S?') -C.;#K#]DEF M 5!F#6?,:F?,M,ZH9XNZC*&57FH,2-@2$N9 PEQ(F <)\R%A 1"LX5EL'*8X M#?@YF8H)9&=0VA*4YH#27%":!TKS06D!%*WIZJ.)>ZP=BQ=$;-2732;BB')R M[E.E@AP_>R8FMHR3I\I"'^QB@T+2'%":"TKS0&D^*"V HC4-:AX,:@),'U:0 M8X-.+:,U+]31#-NSUG>R/J6+C0=)<_MUP>O7S ?-+8"B-:UR*)I@[3SV_)YQ MI8FSM4"22=+Y>EDA&N?%ZG(*: $$E.: TEQ0F@=*\T%I 12M:<]#'03K"R'? M#M.!Y5QBIS]!"R&X/6&?#XNGPQUH)024YE:TTX']=+3KTT\?-+, BM9TTZ%P M@O65DR"+:)K%JS@LIP'/3OOA=LW$FK;'.]"2"2C- :6YH#0/E.:#T@(H6M.A MA\H)UI=.\@GL)YK152S1BO&\O])EFNVY3@M910&E+4)H# M2G,KVO&3W!Q;=OM9#EI. :4%4+2F*P\5%?R6DHI>?+$Q(6E+4)H#2G-Q1RUG MW!K)/="@/B@M@**5OAP>+01.*5\7J\@%*I8WE&L8ZZ/U2O6[8GWVR?$%OG9P MQW$/7_OE.O0#OEP6_T#X.LX$2NA*A3*NINH5AI0/U^XHQ^;J3!ZC7^\__ U!+ P04 " #PA&E7K;M>="(# #0 M&0 'AL+W=O+:1<.G 2K!J>V2=I_/QLH"@EAC<1-@LUY7Y_S8!LS MV3'^)&( B5X2FHJI$4NYN39-$<:08-%C&TC5G17C"9:JR=>FV'# 42Y*J.E8 MEF:OMT#9;FK8QEO' UG'4G>8_F2#U[ M^;B9<]4R*Y>()) *PE+$834U;NSK8*SC\X!?!'9B[QKI2I:,/>G&?30U+)T0 M4 BE=L#J;PLSH%0;J32>2T^C&E(+]Z_?W._RVE4M2RQ@QNAO$LEX:HP,%,$* M9U0^L-TW*.MQM5_(J,A_T:Z,M0P49D*RI!2K#!*2%O_XI>2P)[ ')P1.*7#> M*^B7@OY[!8-2,,C)%*7D' (LL3_A;(>XCE9N^B*'F:M5^235CWTAN;I+E$[Z M=Q1>%A* HIOP.2."Y$_C"BV*:8#8"LTS'L8*+9IS$@*:,?7,(^ XC[P,0&)" MQ2>E>5P$Z/+B$[I )$4_8Y8)G$9B8DJ5IQ[-#,N<;HNND/&B7!Q JN9W+G;K<5' KPDY%V,G]W!-^MYE0/4+4 /_Y MKOK0O81$_&T"5%CVFRWU5G M-CB$J:'6N@"^![^5\S3*[5W(4KPDE B7YO8M7J\YMFNY];4Q:QWJ7"H=F=6H#"LJPU8J-U%TK=]^ MDJ1K2.7_ 15V@SU [MBS#O"TCGDNGH[,:GA&%9Y1^Y:%"4=;3#/0AX8:'"0Y M3L4*.(>H"=3H")3G# ?>X4QJ'?]<5!V9U5"-*U3C#MYCXZ/U-70MZW#^'$?9 MH_%A5-":S[G5FGO'3?UM\ /S-4D%HK!2]E9OJ/8N7IRWBX9DF_P$NF12G6?S MRUA]H@#7 >K^BC'YUM"'VNJCQ_\'4$L#!!0 ( /"$:5<2N,_O604 &\= M 9 >&PO=V]R:W-H965T]D"K&O0M-O%L M&/K:)2J)+TG'Z[T=*BF1]A(T!^B:19)WW MD(_(PU?B[,#%5[D%4.@I33)Y.=@JM7OO>3+>0DKE!=]!IG]9'S^KW^2=UYUY MH!(6//F'K=3V;3N/LO,<[]70O_*=)R:WR3P=*\ $G05?]LSR?*G,43WQ3A ?(WN M!"1,IS:G=WL1;S5F?9'%@*Z2A,A3W\!AXN$)F\&+ZTAR\AUMEQ'DXLO0FJ9Q?D>J,7]*[W M4E^1LO'H_OU37T.W"E+Y7Q_Q0C+HES15YKW^[_V MX7(IMG0DUD 95BA#F_K\XPZ$'L?9!B5@AK0'&5L0!I5D$962+]SOCJP).DC,>HT7J\\D9DEQ\U? M6!.<.F"Z.:,)":N,C3Z.JSZ.K7VLZF%?)ZVAISYNEV)+1V(-9%&%+')?AB*7 M*%V*+1V)-5!.*I235\TP[5QB80I1'[I)9]B/?;\USZQI3B7B2*Q!9%H1F5J) M+*C<(NT>4&P.0 ^P1YI UE^.K5*G#JI"+#S"/ KPN%6.'65LH,%^[=U\*YQ/ M$(/F\9! O[FR1I_*HU1K (FB,&H1<96TB>3(SF(KDMOL48\.+M@+2*S1)R/! M'213'(7M0>(J:1,)J9$0*Q+MWW>4K1 \Z9=%"3*?3EQM0>@7#"$T+HO#L6N? M#(QT@&$R"=J\'.5L\JI=-;8Z3CSNU"1'.9MT:I>-[3;[,UNY2K;F&$3\(VW3.X:=Q;:BQU63.K^*8[[7'03OZW4RS7C!. M'72I=@QFB,-H,FV#.8<[QK4]QG9_K,&(/5B7LD07)I;HEY 7#(!+9[PHU1K8 MR'A".J;H'!8:UQX:VTWT#.NC1Y.H\Y\.X>/ M)K6/)G8?W?[Z\X,Q9%<[E1#I^NKAU&_7:UFW0]]G :3"/2!G0.DTUJDTWL)KM8T([(F,5MG_8O:G:MDPEU3?40!_HU M9-)&= Y?36I?3>R^^B]0KUGQ[2HGP^F:ZC (1QT_Y"IKDTUMJHG=5-L^K=I# M3P;2\YEY2B;3]DKO*FL!Q#O:H4I!;/*=/HERFU-L5E57J]W$JWP/S:MO+[8B M/U"Q89G4I7JM0_V+2#M94>SN%2>*[_+]K@>N%$_SPRW0%0AS@_Y]S;EZ/C$) MJCW6^?]02P,$% @ \(1I5_F\;8S/ @ U < !D !X;"]W;W)K&ULK55M;]HP$/XK5E9-K=22D!?(.HA48-4JK1."=?LP M[8-)#F(UL5/;@>[?SW9"RDN*JJE?B.]\S^/GSN9NL&'\4:0 $CWG&15#*Y6R MN+9M$:>08]%A!5"ULV0\QU*9?&6+@@-.#"C/;-=Q>G:.";6B@?%->31@I=H!; ]RW KP:X!T"_%< ?@WP366J5$P= M)ECB:,#9!G$=K=CTPA33H%7ZA.IKGTNN=HG"R>@V@^>Y!,C03?Q4$D',;5RA M>?4,$%NB!XH3(B%!4\[,.T,S$*JL IU/0&*2B0L%>"&Z0@_S"3H_NT!GB%#T M(V6EP#01 ULJP?I8.Z[%C2IQ[BOB/'3/J$P%^D(32%KPX]/X3R?PMBI44RUW M6ZV1>Y)P#D4'>&ULK5==;]LX$/PKA%H<6B"-/BW;.5N M;?5P![1 D#3M0W$/M+2V>:5(EZ3MW+\O22FJK3!"$OC%$JF=XS)&[+>*#/A9Y,M7L,MJ+OM MM= COV4I205,$LZ0@-74FX57>1@8@(WX2N @C^Z1D;+D_(<9_%-.O*G92\:H!ZPPJPNHKOF^,. )H'C<@:@!1%Y \ M 8@;0/Q<0-( $NM,+<7ZD&.%LXG@!R1,M&8S-]9,B];R"3/[?JN$?DHT3F6S MHN [IB2Z@0+('B\I(,Q*-*/Z1&!6 -)G"RT$E$2A3UQ*D.A=#@H3*M^C#^CN M-D?OWKY';Q%AZ,N&[Z1&RXFO=&YF!;]H\IC7>41/Y#%&GSE3&XD^LA+*4[RO M-;7"H@=A\ZB7\!:VER@.+E 41+$CG\7SX9$#GO?#5R3Q&X24T*NY!87,/5TC9 @]N!E?[P)T^!/ET'G),O/1'9B7M*:E_2Q M9W=L22B%4M>I/;"=T[F:(;4,IE;NLSA-@V#B[X\MZ5WGI98XEDS&1TN>:!VT M6@(S7'U/J) M%9K#FC!&V!KQ%;H&07CI\K'F2XYV.PS2[OE*'QV)81*>QN2]B;U2]K"5/>R5 M_?%>]QO2^0(-'^F+PD'<(BI*.OMX,7JEOU.H;]>K[)H@"O8\KE\+1H^0_ MA&E'H",F[9B0]Z;P2H'C5N"X5^ 7@9FDV+9>5:L/@=W<3//<]U8U%_QO:4)T4Y' T[$AV1(V#KNC^K%ZJVC]J[RH0 M:]LF2V0+?=T0M;-M*SZS#6AG?AY>+>J&^C=-W=]_QD)7,8DHK#1E<#G4Q574 M+7,]4'QKF\@E5[HEM;<;_9D!P@3HYRO.U8 " #&!@ &0 'AL+W=O0H7E%:^!Z94U%Q56.A0; M5]8"<&%!%74#STO<"A/F9*F=6XHLY5M%"8.E0');55B\WP#ESJJ70D=NSU*0"I@DG"$!ZYGST[^>)R;?)OPFT,C!&!DG+YR_ MFN"^F#F>$004N#-'71^8L.7)1JG MLGNV Z:X("#1^0(4)E1>H$OTM%J@\[,+=(8(0X\EWTK,"IFZ2N]ID&[>\=^T M_,$G_"NHKU#H?4.!%X0C\/EI^ )R#?"V(&3??WB)]Z/,9/_B6S/ ;;7Q47@;KCK#@:6-A3%_?JXI/J;@DCNK *M.%\_.C'Q]J2 MZ702'H@;28N#9/I]7%[2RTM.RGOD"M/^%+^/Z4N._ZP7QO[D0-]QFI_XP30\ MT.<.NHSI\+^PV! F$86U!GI7$^U3M%VS#12O;>-YX4JW,3LL]44#PB3H]37G MZB,PO:R_NK*_4$L#!!0 ( /"$:5=>5PD)!04 !P? 9 >&PO=V]R M:W-H965T M\ZQ@B]F.\_V59;%DA_.879(]+L0O&T+SF(M;NK78GN)X73OEF85LV[?R."UF MRWG][)8NYZ3D65K@6PI8F>$5SC+*B3!X\<)=-:\LW+L7K^@?ZR#%\$\Q RO2/9WNN:[Q2R< M@37>Q&7&[\CA3WP*R*OP$I*Q^B\X'&U]9P:2DG&2GYP%@SPMCO_CYU,B.@[0 M'7% )P?T6@?GY%!GSCHRJ\.ZB7F\G%-R +2R%FC519V;VEM$DQ95&>\Y%;^F MPH\O;ZGH",I_@KA8@]]_E.E>U(A?@$)TT-L;S.,T8^_ >_#M_@:\??,.O %I M ;[N2,F$ YM;7'"HD*SD]+[KX_O0R/ON\?X2./8%0#9R%.XKO?L-3H0[K-V1 M[&Z)R)OP41,^JO&\_PG_ MQF<<'E+(!_/@MS\(GCG/VK"O6([:BQJP%XQ?9Q M@A7:(O+GUU UI:.9 W^^8263=AJRK)?L9,W8%/B1)F9=9S/%:#%N1 MDR2-JXE!1?>(YW9XO$<(15'8XZNRLVTO<-2$O8:PIR7\EQA+K\^M-R#AH"!$ M08_KT R*9O"0FJK?4/6U5+\2'FX*36M:!D6_W>E9AASPWM$>ZMM4 4"\"OL3) M3CRBKZ&J19I<)T-H4$8CN@JV*H5J) M2[>Z!]GG7$T;U4&FT.14M#H(:<6%MN8G5VG!Y(DO?:\5%68HLMV1U3/J;'GH M=!6F&#G'.VI5&M8PI-3D6K=9!^[V3JK(F&6R(( M>E[8_\ K[&#DVN'(XAZUB@3I%2&\UD*/?^YF\E6X/Q4 8 M]K6 RLKV1V97IU4ICEZEK$C!."V/)VII4='>BJ0HYU<]U-0JF4*3 V\UD'/. M&ULM5;?;YLP$/Y7+%9-G;053'YW"5+3KEL?JD5-NSU,>W#@$JP: MF]HFZ?[[V4!(IA+:5?0%;./[[KOSY^/&&R'O50R@T6/"N)HXL=;IJ>NJ,(:$ MJ!.1 C=?ED(F1)NI7+DJE4"BW"AAKN]Y?3X M;PWR'3\H;-3>&-E0%D+!+,@"LX%^TDC'4^A:.#KT)$&\H8(CQ"WW4,$EUQ3?B*+AB@,Z5 *_0)S8T:HLRL MB"6J3(XO0!/*U =TA"A'M['(E(%18U<;9A;?#4L6TX*%?X#%"%T+KF.%OO ( MHG_M71-1%9:_#6OJ-P+.(3U!'>\C\CV_@^[F%^CXZ$,#;J=*5R?'[3V7KE\W MPCR-,#9$1K_K(BZ .O5 ]K*=JI2$,'',;5(@U^ $[]_AOO>Y@6:WHMEM0@^F MA!$> B(:74 (R<(<:P?GV?#KN!9H_1S-WN-U,!CZW;&[KN'0JSCT&CE<,GB< M:P CK? AHXK:6UCGO(#I[CG'(W\X&M6[[U?N^R]-@1&#+G-0*J*.1O\)#5/9 M!G9O'8U!16/02&-F#E=E$M"Y$;@4K,YS(\(KE3*L^ W;$O3P#6B.*IJC5@4] M>G*8AP6-O5VM]-J1=(FS[]\[X'RO4.-V!5WBO3 )_HZ'W\ACG@K!B/T[W$(8 M<\'$BD)]S6\$>J5B\*Y4X]9J-7Z+8HUWU1JW6ZY+N)?(:U>M<4OE&O]?O<:[ M@HU;KM@E7O\Y)NY>>Y2 7.5-H$*AR+@N.J5JM6HTSXKV:K>]Z%*OB5Q1KA"# MI3'U3@8F&;)H_(J)%FG>;"V$-JU;/HQ-LPS2;C#?ET+H[<0ZJ-KOX"]02P,$ M% @ \(1I5XEZB#V2 P ?Q !D !X;"]W;W)K&ULM9A=;Z,X%(;_BL6.5C/2M&"30.@F2&FK^9#VHYIT=B]6>^& $ZP: MS-I.,K._?FV@P&X,%VFY:3#XG/<]\?$3W.6)BR>9$:+ MYP5U>6@N"T"LJ9BSPO<'-,"R=>5O<>1+SD!\5H01X$ MD(<\Q^+[+6'\M'*@\WSC"]UGRMQPXV6)]V1#U-?R0>B1VV9):4X*27D!!-FM MG#6\N45S$U#-^)V2D^Q= U/*EO,G,_BJ>%W,%DMRQ]D?-%79REDX("4[?&#J"S]](DU!E<&$,UG] M!:=FKN> Y" 5SYM@[2"G1?V)OS5?1"\ H8$ U 2@RGT\4IDR^ V\ +^\!\I /OF[NP=LW[_Z;QM5EMK6BME94Y9T/Y/U "ZK(U<^Z#=+S M MZ#7_4F^'.]E4KH7OG+YKO.[]OSFPUT(TN M;]W[8]GCCX)+">ZX5#9G=6Q0Q9J=>(SUOO0];^D>+9JS5G,VJKE.DD-^8%CI M+VR=QUKOXF9N0ON:4>!'T8!FC^]P5/.>'/5/;ZF+5B3) M"L[X_KM5?S3-A?T .S3#J=D,IX S[.@,7X+G)KB_NF'H#;4T[/@,7P_0T$+H MV2Q" QXZ0L/+$0W/&1VBN;<8T.P8#<VSM.FJ/Y+UCL:2$!(SL=XUV'.H6H3[OU0/&R.F%NN=*OSM5E M1C2@A9F@G^\X5\\#&ULM5=;3]LP%/XK5H8FD :Y M]L;:2&T3-B38$(SM8=J#:4X;B\0.MDMAOWYV$K)>0@0L>VGLD_-]Y^:>^ Q7 MC-^*&$"BAS2A8F3$4F;'IBEF,:18'+$,J'HS9SS%4FWYPA09!QSEH#0Q'R"^T.VE FA<,&16*8IYH\32-AJ9-C&D^"2+&*I!:8_S/ "KD!> M9Q=<[P$FMKI".Y8>Q6;TZCD6%IAR"! MF=0,6#WN80I)HHF4&W)9#PR^@:*8(Z7 MB;QDJ\]0QM/1?#.6B/P7K4I=RT"SI9 L+<'*@Y30XHD?RCRL 11//< I ]A"AZ%O,ED*QB*$IE6.:WIR53DP*)YQGG'#1.:,R%BBD M$40U^* 9/VC FRHA55:$9 MC S5YP3P>S#\]^_LKO6Q+N]MD@5MDH4MD6U4R*LJY#6Q^^.4<4E^X[SUPH/Z MA@BH*T7!TLU9] ?DWG<&'6\P-._7<[RK97<&/6M3*]C5&O0Z]A97N*OE>7W+ MJ[0VPNU4X78:PSV-@$HR)UB?PMT#.9[=+0FO[2.31N+7'L8VR8(VR<*6R#:J MTZVJT_V?[:+;9H7:) O:) M;(MNH4*^J4._E[2(#3ECM?Z69Q';0(V!>][6? M-B)?F_8WNQ&VY,9&COM5CONMM.3^;H.TK*U>.VTT]=I\[EJTN^ZVR; EDT7N MS+7[:0I\D0\& LW8DLKB'E))J]ECG%^YM^03^WAJU\@#-:L4H\5?^F+0.<=\ M0:A "NHI]H6+X:'8B-9EM^.;YA4=^U\&:MY"[A64._GC,FGC39037#^ M'U!+ P04 " #PA&E710\8I*$" !K!P &0 'AL+W=O: MP.WVD_J5-:_-+(B$2\Z^TDP54R=Q4 8Y:9BZY>T'V!@*C=Z2,VF?J-VLQ0Y: M-E+Q._ MD,\AO,]QE*L).(K(0YDNLT&(_CB;L> (]Z\&@G6+-&0ZPN:K3%\L)Q\@(L M[&'A/E@X! L/@44]+-H'BX9@T2&PN(?%^V#Q$"P^!);TL&0?+!F")8? QCUL MO!-VI^L&D%R!&$*.GR,QQB-_F.GA/Z4+[Z1^TI?6)9=JL,K@9^? 2X)Q//H' MZFZ53G,-?21B12N)&.0Z$)_&^K<3767O.HK7MIHNN-*UV38+?1N", OT?,ZY M>NJ8 MW?K^EO4$L#!!0 ( /"$:5=:\"#1"PD *9J 9 >&PO=V]R M:W-H965T&;4 M5MEVE;0]GPF>V*B\^ !.LE)_?(>7>#PV'D-]G_VP\0MS#>:&!WQY@*O7+/^K M6$E9DK!*5ZFB_'Q3J7P:)NE,1C M.IE,QTD0I:.;J_JU+_G-5;8IXRB57W)2;)(DR+_>R3A[O1XYH_<7'J+EJJQ> M&-]HH_(_E:[#PF MU4=YRK*_JB<_+ZY'DVJ.9"S#LD($ZL^+G,LXKDAJ/O[70D?;/JN&NX_?Z:+^ M\.K#/ 6%G&?Q?Z-%N;H>S49D(9^#35P^9*\_R?8#^14OS.*B_I^\MM-.1B3< M%&66M(W5'"11VOP-WMH%L=. TB,-:-N ]FW@M@WBQS]6ZDVI4W3#Z5 MY ?R:Y#G094Q^87TDG[.T7!6$IPNY,-N/ MU7QM9XZ^S]P=M0*%?+H@=/8]H1/JDC\>&?GP3>=\V3&/[>[?54)/Q7K()37(U7J"IF_R-'-M_]QII,?NY)#PA@2QI$P M 8(9B7K;1#T;O=G$U4ZE*(-T$:7+KDRMA*&9(F&L@4UK6+6;?+F97(U?=H-" M=B= ,",H?QN4;PWJ7I9JPRM(]DS"7"ZBDZE9<4-3\P\6M.-/JG_FXF;(3CD2 M)D P([OI-KNI-;L'N0Z^JB.NLDIO<:1R3CL6<;.,]Q;RW-K9T$T(">-(F #! MC,0NMXE=6A-[E.%&;67U;H[\36Y5>.JHA=S>W9-YL_6)((SBJ/S:%:65/733 M0\(8$L:1, &"&6G/MFG/SCRLF2$31<(8$L:1, &"&8E^W";ZT;K]JJU3DB#) M-FEGG$UC;[?6TNY::^UF:%9(&$?"! AF9.5,]-?,B36MCK*JBNZ]FJK:8;;O M#*["]DZ';K10&H/2.)0F4#1S9=AQ#LZ9Q;@%H()%TAB4QJ$T@:*9P5(=++5N MY7=9KMJH;RLD#%0WQ[9:>E";Z9':;.]O<')(&H?2!(IF)J>MCV-5$'WK\^\K MV:LN0QT1E,:@- ZE"13-7 FT*'*\<^LR5!1!:0Q*XU":0-',8+58W>#@X/J)BA-H&AF<%HW4;MNF@=A MN2G(_?W\H"IW)H@4-G,HC4%I'$H3*)J9LE93]-P1212JFZ T!J5Q*$V@:&:P M6C=1^\"DGG47JIR@- :E<7HXULGI//P7J'[-X+1.HG:=9-3=/N:X,U?HZ"4H MC4%I'$H3*)J9O393='IN-89*)RB-06D<2A,HFAFLED[4/A[J=Y5I9YQ0U02E M,2B-0VGBQ.+VR5<9Y(4M.JV5J%TK]=R10DHU('2!(IF)JBE MCFN7.H^;IR):1$$>R:+[*+4S2>BX(RB-06D<2A,HFAFV%D$N/?.@U(6Z'RB- M06D<2A,HFAGLSLEH]F%)(GJ3"Q*N@GPIU6[T1>:!>E"=JIAUI@P502W-^#UN M[V08:(<<2A,HFAF=MCNNW>Z<+L#JU;N@D.0A*&5GFE#S Z4Q*(U#:0)%,X/7 M=LCUSRW&4/4#I3$HC4-I D4S@]7JQ[4/2KI=K^,H#)YB21)5D*.T*L3=6RY4 M ;6TV4X=GEQ,J+]?BZ%N!TH3*)J9G'8[[HESW?K4XOG4OT1#!R&UM+T2[1Z4:*AQ@M($BF9>HT$;)\]NG'J5Z,]16FFIKCSM^*%Y M0FD,2N-0FD#1S-BUIO+./17.@RHI*(U!:1Q*$RB:&:Q64MZ)L4E;YT^>96<% MM@,&!TN[*O#A43*T5PZE"13-C$S+)L\NFX:4X%/NPM[5X'"A0Y*@- ZE"13- M7 5V+I5T[AEP'O922=AK)4&E%)0F4#0S6"VE//N0I?X'QG;0X( ;VL?=LKQ? MD:'&"4H3*)J9FC9.WHG3X(95Y%,&@WQX_$T\?+?S_L_I0KZ1Q]=@?;R20UT6 ME,:@- ZE"13-7'6T\O+./8?.@[HK*(U!:1Q*$RB:&:QV5YY]L-. 2@YU6"UM M[P#;.3S AMHI*$V@:&9TVDYY=CO5KYRW0V].'6!#_164QJ T#J4)%,V\PJ76 M7/ZY)]'Y4)$%I3$HC4-I D4S@]4BR[>/M^I?ENV@P0$[G=YCORI#.^50FD#1 MS.2TJ?+MIFI@5?Z_'&3;9W'P.@$=G@6E<2A-H&CFJJ.-F>^>6\VA'@Q*8U : MA]($BF8&JSV8;Q^\-:":0WU82]L_R+X\*.=0TP6E"13-C&[G(N)VT]6KG-]' M>Y>P:!_<+G,IJQ\M.J/&7F\<.FP+2N-0FD#1S!5"2S3_W#/V?*CB@M(8E,:A M-(&BF<%JQ>7;1W7=RU/CH>V P<$VM.KBL=OJ3"\.2C-474%I D5K AOOW'8G MD?FROD%20<+JDM3-'7BVKVYOPG1;WWIHK"=O[N#TN=[)%B26SZKIY.)2;N;^#QE99DE]<.5#!8RKR90[S]G6?G^I.I@>VNJFW\ 4$L#!!0 M ( /"$:5?\/*VJ6P0 8 9 >&PO=V]R:W-H965TF!=;HLYWR/-]U!')V9'0[VR+,0<_\JQ@Y6UUF\Q3EB M-V2'"_%D36B.N+BE&YWM*$9)%91GNFD8KIZCM- 6LZKMGBYF9,^SM,#W%+!] MGB/Z=(JY] MA+<1],J "O%GBH^LWUB_U2)%V(>$<-+DOV5)GP[UWP-)'B-]AE_(,??<2/(*?EBDK'J M%QP;K*&!>,\XR9M@,8(\+>I_]*-)1"= \,@#S"; ' ;8SP1838!U:0]V$V!? MVH/3!%32]5I[E;@0<;2847($M$0+MO*BRGX5+?*5%N5$67$JGJ8BCB\>\ $7 M>PQ^!2LQ!Y-]A@%9@Z:5@3!E:+.A>(,X3L#C$UB*BPVA3^!]B#E*,_9!A'Y; MA>#]NP_@'4@+\'5+]@P5"9OI7 RP[$:/F\'7FX*9/SNMZC_]U[+QE6 M.U6LBL]YAJ\S%\I7_#Q-P-]_""CXS''._I%5O>:UY+RE%=ZR'8KQ7!->QS ] M8&WQ\T_0-7Z3I5PE6:B2+%)$UBN.W1;'GF)??"4<9<*YZ_=65H0ZWJWBR\_' M86'ZGN\9,_W03>\8!GW;]F$?%HYAOFD:@=V'16.88QA.X+2PGEBG%>M,BCW- M.\0 CM,8UQP\563J:Z)@JZ<@> 7$>&+B&@*T5/HM@K=287WE"3[F)\**E,V M27#M2Z62+%1)%BDBZU7!:ZO@O9'C>2J+HY(L5$D6*2+K%<=OB^._TO'\L>-! MV^R83YW>,0R:T//-@0N,8:[AN($_L((QS#)]P['E?A"T8@-5CA>,O,BX\0:^ MO)2!7'>@^!*F2,KTC+]#X[PJ-5[06W2J*UU)3A)<^XHI90N5LD6JV/JEZ&P0 MX!N98$.LJD0JV4*E;)$JMGZ)S'.)S%=:84/07_WY7C"P!1G,@\; ,4,)S+<# M./"/2 +S+&A;SYC#>1\")U?2UYAAP]2WI^$*4 X:B;Z *GJ)JJ_XO+B'TZO[ M3RG.$E!.G#06NHL$$+[%=-(?)QFO?OE4LH5*V2)5;/W:G/]H00&A?'YQM M MQK@@L#I+RK[>\[8%3BZ\KS)(3V98(]U25#"4?0E7)$69 \EZYT0SQW13'24S M$)-]P>L3J[:U/:[^6!W2#MKOX.T22MK#\GB[.D$]T]=GXU\0W:0% QE>BZ[$ MBE?,75H?-]G)36<&P( .T$ 9 >&PO=V]R:W-H965TMFP/6["/[5JC10>6DC<@#5>2:*BRX<7R;.WSO\XG R%VOB ME.R4>G+&CS(+0I<0""BL8V#X.\(2A'!$F,:?GC,80CK@Y?K,_LUK1RT[9F"I MQ&]>VCH+[@-20L4.PF[4Z3OT>J:.KU#"^"\Y=;[33P$I#L:JI@=C!@V7W9\] M]W6X $37 '$/B/\5D/0 7SG:9>9EK9AE>:K5B6CGC6QNX6OCT:B&2W>+6ZOQ ME"/.YALX@CP ^4A^,JV9JRFY78%E7)@[W'WTQLQQ!U;>)&_YC?3V8I/5Z*&'&*)M/!J4N.7C2C M>P@>F-YS:8B "E'AY#->BNZ&JS.L:GU_[I3%;O?+&M\CT,X!SRNE[-EP+3^\ M&PO=V]R:W-H965T MS M20Y@C6-G;0/MOY]C)TV!AK1(^0*Y^'V/_?APS!GOI?JE-P"&/&==T#8]@?N;W"N_\RB5E&0C-I" * M5A/O-KQ9C.QX-^!?!GM]<$WL2I92_K(WW].)%]@) 8?$6 >*7SN8 >?6"*?Q M?^GI52&M\/#ZU?VK6SNN94DUS"3_CZ5F,_&&'DEA1;?C\"U#G9D^T6?R M FP'5UR(+=K!8!I8,B5]_1PZUV3JSD8RKB^)G^3GX]SM''^GG'\2/&@Q\)%AA MC%XQWD6-CE]AV2'1\"\2!>&P;D'-\D?(.Z0;6'G4K5M/LWP.".+M+0;9D=@0RKD#&GP:Y! $K9O"HQ.HH("7+%S+# M4V^KR7>1U &-:UB%IT ;)W!I!K=IMFC)[ A\OP+?_Q"\>BLHM#JD,)W/%99& MQTL+2V'6/]B[J#\*@I-$;S/DXGW(,!P5A17G83%D:REU]Y8PN&6?FI0YQH\FEB NSWF&& M#L+P78JV&7/1DMD1XU'%>-3(>+95RE4 J5S#(5=OL#'%.358D_&4,V=*1]V& M-$:\=$-&[TM&,(Q/S\::48.XUSM)YI8F5H#V#YJ%#-3:=6F:)'(K3-$W5$^K M1O#6]3_^V_"BB_Q!U9H)33BL4!IT!GA(J*(S*VZ,S%WKL90&&QEWN<%F%I0= M@.]74IK7&QN@:H^GOP%02P,$% @ \(1I5\)\_=X=#P ;<0 !D !X M;"]W;W)K&ULK9WASN73O-Q)?V,Q9KBT8"%9"=W/2//Y"P5BO6BU!^_=#8,ON\R/H97GA8 MN'G.\B_%4LJ2?%VOTN+=U;(L-V\'@V*QE.NHN,XV,JU^\I#EZZBLOLT?!\4F MEU&\&[1>#=SAT!^LHR2]NKW9O?8QO[W)MN4J2>7'G!3;]3K*OWV0J^SYW95S M]?+"I^1Q6=8O#&YO-M&CO)/EY\W'O/IN<*#$R5JF19*E)).V_%Q*L' M[);X/9'/Q='7I'XK]UGVI?Y&Q.^NAO4:R95+UW1ZB]V"=J-KC[S)*W#?E?FU4^3:EQY2__:)N4W\F,@ MRRA9%3^1G\GGNX#\^,-/Y %.]6'W]WV6V+:(T+FX& M9;4.-6FP:.I]V-=S7ZGGD%^SM%P6A*:QC WCY_;Q7M=X:A\_ZQK/.M;?[0)P M.\"?6@"#ZM,[?(3NRT?XP;42_QVEU\1SWA!WZ'JFWZA]^)W<5,.'KPX/SA_N MFCZ/[ZL>?E]U9A\>R,7A5V<:SK]OY47'![>M/KBA;QJN!<$[_"U[.][8^K=L M^IOW?[S'XX__)%4L2)T]) M+-.X:J 7JZH7BLF/50,49ZOJFX)L9+YOD7XR)=:*[YO8/6QRE(OAM>/JJ0B, M"SGZ0M2TD#-ZU(6("$T3UL=)Q6;^;Z M)WF=M#(]'0XG)YM&Y'IQ)$R 8%H.IX<<3L_8-'XZ;!I)%Z0E''MFXSBIF]1H13Y&2?RS2,D\VB1E MM#(&U0KK'50D+8#2*)060FD,2N-0FD#1]#B[*L[NA5U#,Q 5720M@-(HE!9" M:0Q*XU":0-'TZ"JIY%@5P.T\*\J"1$61+9*HK'J(YZ1<-NU#TIS -P;;:^T: M7/=HQ] $%FJ3H#0*I850&H/2.)0F4#0]L$HJ.4"K9&?UWOQ"O1*41AN:=G9K MY'G#$X<00JLR*(U#:0)%TW.J]))C]TMG>0([HW<^D;0 2J,-33N4\":GX426 M9% :A]($BJ:'4SDLQRZQYD?;3?(WZ7/BUD[N'5FHW(+2*)060FD,2N-0FD#1 M]&PK&>9,+CT8@XHN*"V TBB4%D)I#$KC4)I T?3H*G_FV 6:MEE^V1C')$KC MJI$HDY?K4_:7[1HO2K$7Z!UQJ%B#TFA#.VYX1RU1&T)K,BB-0VD"1=.CJ[R9 M8[4<9[:[4(D&I050&FUHVNF1T[,C(;0D@](XE"90-/T*>J7(W Y%]B3SZ%&V MK%A,-GFRD#TN^K,7ZIM@*"V TFA#.[Y&T)M=MZY4A19E4!J'T@2*IF=8*3/7 MKLRTWB!2SE>EN=&_QMA"#5I#TX[E1[/IZ?8M@%:E9U8-H549E,;/? \"557/ MFO)9KE4ZW(8K^?6NE')%_B;_D=\(76]6V3=I% %V5.]H00T7E$:AM!!*8U : MA]($BJ:'61DNU[OP?("+]")S*"V TBB4%D)I#$KC4)I T?3H*M?EGN>Z3E57 MUUD .[9WL*':"TJCKD%[N5-GW&H*H-H+2N-0FD#1],@J[>7:M541CM^50[Y)J/NGQ#7F4JN006/* MH%(*2@N@-.J>(Z6@)1F4QJ$T@:+I=_-14LJS2ZEYM"BW!9EGZTV4OK(%M"/Z M9A-*"Z T"J6%4!J#TCB4)E T/<3*2GG.A2=7/:AR@M("*(U":2&4QJ T#J4) M%$V/KI)NJ<3 M"*!%&93&H32!HNGY/+K=GU4NO/0'O_PR-^82ZJZ@M !*HU!:"*4Q*(U#:0)% MT^.KW)4WNK0S@-HI*"V TBB4%D)I#$KC4)I T?3H*H?EV1W6F9T!5%Y!:0&4 M1J&T$$IC#>VD:QF>W,N00XL*%$W/I[)77L?LK7UG(-*%,9=0T'(/7GKOE.2VQ MQ*#KQJ$T@:+I0532R[-+K_E\]\@.PO>I:[QJN8SJ&VG5W<&;NCVX-J81ZKN@ MM !*HU!:"*4Q*(U#:0)%TY\:H,38:'AA?S""ZC H+8#2*)060FD,2N-0FD#1 M].@J'3:R3]+ZWCMQV_&] PZ59E :'1EF0GFS5J=@6&PZ;#4*T%7C4)I T?1$ M*LLULENN^2HJ"O*>--,'[UY]_@K4@Z6?1K7\=3M-R\/7\J4/_9RK*0:5G?YB)[J)K-,EJ1IVP_RR5[EJ9KX3_8R_0.EE'%G%Y M$D"+TO.*AM"B#$KCY[T%@2JJ9TY)IU&7=/K.YZ79^;W#!O524!IM:!W/8#,O M=?H0-NB:<2A-H&AZ(I5'&MGG^ 1-&(M#&HVQ@SHE*"V TNBH_>@JM]YYG>;. ML-BP=8Z>0=>-0VD"1=.#IRS0R&Z!5/ V46(.'=3X0&D!E$9';>-C#)UAL:'A M1 [4^$!I D730Z>,SZC#^!A.Y)"_R;SKN;I0VP.E!5 :A=)"*(U!:1Q*$RB: M_A1>97O&E]J>,=3V0&D!E$:AM!!*8U :A]($BJ9'5]F>L=WV7'I['CNV=["A ME@=*HPU-N]##&[OM4S[0L@Q*XU":0-'TS"H?-+;[H%[WY[&S>@<5*H6@--K0 MCOO3]D/3H:H'2N-0FD#1](PJU3.VGH]_K=4]>FC@;P\/,D_21V-HH3H(2@N@ M- JEA5 :@](XE"90-#W>2@>-+YT9-8:*'B@M@-(HE!9":0Q*XU":0-'TZ"KQ M-#Y+/!79JO-)% U):_U<=]0Z-32WE^P=4ZA=@M)"*(U!:1Q*$RB:'E/EJL9V M5_5Q=U?_PV.PSW=4X[:3&3O7GG\:6:A\@M(HE!9":0Q*XU":0-'TR"J9-;;+ MK)U>761ID<2ROFF5^?Y^X[:[Z*DC@I%O6S)HP7,8\-DX!:5_;.[>5Z1Q0JM:"T$$IC4!J' MT@2*ID=4*;+Q98KLY$9K]2U5R/O'7,JU-#\NQ5ZG]W$85)I!:11*"Z$T!J5Q M*$V@:%K2?27-_$NEF0^59E!: *51*"V$TAB4QJ$T@:+IT572S+=+LT\RENM- MW>"279^[.R+;S:#N.*%@Y_9.=MM,.2<7JD(+TNZ"(;0@@])X]^H+5$$]6,IL M^7:S]7)N:GO_IUR4]72[ZG#J2>9%$S5)HOC/;5'6._VB,VQ0\]70K&&#ZJSN M@B&T((/2>/?J"U1!/6Q*4?D=BNJ/_?S[_+ UZXX4U$M!:0&41J&T$$IC4!IO M:-I#B.OGNK1GC*#JZGE5SLGOF()D/C3Z-T\X,^]G0L)QCVB$SZ.IQ*$V@:'H0 ME8OR.US4KEGXT'G/"#NF=_J@S@I*HU!:"*4Q*(U#:0)%TX.LG)4_O;09@$[0 M@M("*(U":2&4QJ T#J4)%$V/KG)9?H?+^LY[1MCQO0,^:^]51\[0;]\S EJ7 MGETWA-9EQKJS2?O64_SL-12H-=0"-5'*:&)_W!3JGA'V,GV#U=#T>Q\XD^E) MJJ!%Z7E%0VA1!J7Q\]Z"0!75,Z=DR-I$'(&V,&M3U06@"E42@MA-(8 ME,:A-(&BZ=E6NFGB7MA;3J#N"$H+H#0*I850&H/2.)0F4#0]NDI>3>SRZJ45 M>$YE?-#O!5G*[JOZ[>3>V6[KDU,O"BU(NPN&T((,2N/=JR]0!??1&A1+*I7D\J&*GO/VO7LU:+T^=]X&CN%UZKP-=Z\/ M%/[V9E-UI+]&^6.2%F0E'ZI2P^M)M2'.D\?EX9LRV[R[JO8!]UE99NO=ETL9 MQ3*O%ZA^_I!EYSNW_P=02P,$% @ \(1I5\]AI?R! P MYA, !D !X;"]W;W)K&ULS5A=3]LP%/TK5H8F M)@&)7?K%VDH#AH8$$J*#/4Q[<-O;UL*),]MM0=J/G^V&)!/!94&5^D+CQ.?X MW)L33N+>2L@'-0?0Z#'FB>H'P4J5C9$L9"?%@ M!Y>3?A!91#3H F,*4+KF_%ZAMD!3F!8\&5^XM6V=PH0..%TB+.P$9!S)+U+WW,&E$" M$/(*@&0 XG2O%W(JSZFF@YX4*R3M;,-F#URI#FW$L<3>E:&6YBHS.#VXH$RB M>\H7@*Z!JH4$TW*MT"$:KN\3$E-TQ>B(<:89J.=9$T0U*H'WST%3QM4G@RQ. M'Z!;&"^D9,D,[2&6H.]SL5 TF:A>J(UZJR$<9TI/UTK)*TJ'D!ZA1G2 2$0: MZ&YXCO;W/OU+$YKB\PZ0O /$\39>X?U*97)H_(IX5N53E38OAWUT3E1*Q] / MS+.A0"XA&'S\@%O19X_"1JZPX=B;&^_10?6M,.XN^GQ*%5,'Z"X1(RN$CCB@ MRR0U!9HY(AD;-'4/Q,\KLPZZU!"K7U4E-[90\G%>\K'WII3*K)*V!K<:+WP1+O=?L4116!A?V)5 M.<+_2N$GK-NE(O%P9R>]L8WHQ$5V8F].;?1&]ZTY0HKH(O[H\CJC\NW"3UBS M1Z0(/H)WT1ED&_E)2E^&_D_##<[(T&]Q1A%>Q!]>7F=4OF/X">OVJ(@];2NN! M%JG;R!D)K47L#N= )R#M!'-]*H1^'MB]H7QK;_ 74$L#!!0 ( /"$:5>S M5Y#- 0 8 9 >&PO=V]R:W-H965T*YBEL*#0#)/$BI>KR'F^[F' MO;<+CVRS5>:"OYAE= -+4']F#T*?^967B"602L93)& ]]][CJ^NP,"B>^,Q@ M+X^.D2GEB?-G7TJE7Q32&Q\=OWC\6 MQ>MBGJB$&Q[_Q2*UG7L3#T6PIGFL'OG^=R@+&AI_*Q[+XA?MRV<##ZURJ7A2 M&NL,$I8>_NE+V8@C SQH,""E 2GR/@0JLKREBBYF@N^1,$]K;^:@*+6PULFQ MU(S*4@E]EVD[M?A(F4"?:9P#N@@ STU&)%$>WH$#HO =>?I97Z4LEK_,?*5S-)'\59G/]2$?TI#/$K)+% :_ M(A*0\&MS7Y=6U4>J^DCA+VSP]\CD\\5: ""6ZDQ!*B2H O0O>L@5XD4A*&;T MB<5,O=;EZ_1O7IHKF=$5S#W]5D@0._ 6[W["H^ W1_9AE7U8>!^>-#KH+LUR M/48TC8J;M"CB$ZRV*?N2@T1__V$&Y$Y!(O^I*RGLH:1!5=+ .2#'=;"BCKH, M#S[P@1(SL^P6P64P'(QF_JXF^+ */NQ(PSU+69(G^N@#%>F%GK_<5#CC=&SA MJ*IB= XJ1CV4-*Y*&O\ *L;U5#1 ,:EB3[I"05].@L(9IV,'IU45TW- ,>VA M)!Q8<0I^ !:ED^^Y".O!P$?BB)WQ/[QD^NL!(OW]L8-4MW;'8]U",_ZMH7"' MZ-I"JW^8G(,+W(^)P1^G816)UD>!S ML$'ZD$IRM%1TKQ7;L5$Z^9Z-!C2LIA&WIC6A<>*TX8[2M8E6&LG@+&CTH93$ M*B5Q+QQ;HC&L10,WD&$5C;@5K?H,_>KSL_4&1A\+.V+ED(S/ D0?ZDBL.A+W MHK$E$),Z(,(I&3<@876,N'7LENU8!+IYKPSBZ!0:^EC1A5;_PN L.UI]Z&%H M]3!TKQ/;T5 Z^7:=&DR'W]#@'^WGFKWQ>RHV+)4HAK4V#"['NKOBL-U\.%$\ M*[9XG[A2/"D.MT C$.8!?7_-N7H[,;O&U:;_XC]02P,$% @ \(1I5QME MYI0I!0 #"< !D !X;"]W;W)K&ULU9I=;]LV M%(;_"J$50PLDT9<_,]M 8TEH@08+XJ6[&'9!V[0ME!(]DK938#]^I*1(EJUP M5G=VD9O8DGF>0_$].B1/.#HP_DUL")'H.:&I&%L;*;>WMBT6&Y)@<<.V)%6_ MK!A/L%27?&V++2=XF1DEU/8$DH74"*P^]F1**-4DU8^_"JA5^M2& MQ]]?Z%'V\.IAYEB0*:._QTNY&5L#"RW)"N^H?&2'3Z1XH*[F+1@5V5]T*-HZ M%EKLA&1)8:QZD,1I_HF?BX$X,E"<9@.O,/!.#3JO&/B%@7^I0:!T302*4W34_GU )(ZI^* :/\T" M]/[=!_1.M_EMPW8"ITLQLJ7JHG9D+XKNW.7=\5[ICH_N62HW H7IDBP;[$.S M_=!@;ZNA*QF?.\\(G)'M#?*=*^0YGM_0GZG9_!YS9>Z^:AY<[MUK&HW_ MUOGHA[W7QM(O8\W/>-U_C;4K]"7&\YC&,E9A503>$JE,\T@6.\[C=(WNL(C% M%7I*V5P0OL=S2M#G=+N3N@U+%\H:Z^1TA::8+G8TNT!_/#)*D4HZ!\R7?S8% M8-Y'O[F/.I'?BBU>D+&E,K5V3*S)SS^Y/>>7)O4A80$D+(2$14"P6M1TRJCI MF.B3//GHO++2\;//VI;=3ZZ[SM =V?MC M&8T]:"OCN4NG[BX\;^'Z3M>OMXI,G-I(=LN1[!I'\@O9$XI\]#<*+QH[(ZWM MFP()"R!A(20L H+5].V5^O;>0'[M048-)"R A(60L @(5HN:?ADU?6-6^%5M M4O)XH#A=D"9)C8"VDO;/TEIWV#O)D &DQS"'=8P>(R"/-0D&I02#"Z8X49_C MFH0P8MH* 0D+(&'AX$PPUQOZWHEB0"YKB@U+Q89&Q8J7!6&)U"I9DF1.N&FE M?3<\?Z3!8'CR2%.CT[:20,+"B_H? ;FL2>(ZU5;6^>'UC;H94?(\DX30QFVI M$=WVU0*E!:"T$)060='JDA]5+]PWL.0I.@D5/)"T )06@M(B*%H]>+PJ>#R8 M:=?,::VO=YY+G=,%$*C+$)060='JLE55)-=8;CA*\P_JS67;["4U;F3-P-;Z M@19]0&DA*"V"HM6%K@H_;NMRS<6N"[:U M9D)K9;OG&UOW+*V#5JX*6L?D,H)R6=>AJDFYQN)%BTD6M' $2@M :6%!.Y;- MZ_5/9?L_:D)N511RS56AUAM<][RNT^^?/-34[+2U*J!5(O>\3'3V !&4R[HJ M59W(-1>*'DE2_9,6A<\JQPFB%D(_L"0"+26!T@)06@A*BZ!H]0"HRD[N\"TL MB2!+2U-06@!*"T%I$12M?I*AJH]YYOK8Q5.QF=-67U!: $H+"]KQK.6=[L4C M*)>Y;/;189V$\'5VK$J@!=NE,C]+4=XMCVY]S XLG=R_I5?2+;-C@K-F90LR;YN"%X2KANHWU>, MR9<+[: \ #?Y!U!+ P04 " #PA&E7_7PD:$P" +!0 &0 'AL+W=O MO7;0;(@=/E51V M&FV!#4VKTY>"=+K1_]8EY.H\0+(DF%\PS(PY8N2$I/Q#+^ M])S1D-(#]^<[]JO@G;TLT=*%EC]%Z3;3Z$L$):VPD>Y.M]^I]W/J^0HM;?A" MV\4_RD+9_A4,,[E5R@,/*!L"&X(;6.(*^XL?((?: SZDL'A)3D4TA[! M 0@%-T)*+JC-8L<"/$U<],EF7;+TC60+JDFSS9#3.XNV^@'BOM_TS<8-F+90%22M&)://7'W37;UNX70=VGVI M'5^>,-WP:T7&!_#Y2FNW6_@;-+Q_^0M02P,$% @ \(1I5W*[@+QA @ MO@8 !D !X;"]W;W)K&ULK55=;YLP%/TK%I.F M3=IB J6=,H+4I*O6AU91HVT/TQX,W(!5L)EMDN[?[]H0EFH,==->P!_WG'O/ MM3G$!ZD>= E@R&-=";WT2F.:!:4Z*Z%F>B8;$+BSDZIF!J>JH+I1P'('JBL: M^/XYK1D77A*[M8U*8MF:B@O8**+;NF;JQPHJ>5AZ<^^X<,^+TM@%FL0-*V + MYE.S43BC TO.:Q":2T$4[);>Y7RQCFR\"_C,X:!/QL0J2:5\L).;?.GYMB"H M(#.6@>%K#VNH*DN$97SO.;TAI06>CH_LUTX[:DF9AK6LOO#4ONF%+,=I>\N@+#>*5?XZKN(F-J,*T%TZQ/L>I2!']($9!;*4RIR0>1 M0SZ"7T_C+R;P%.4.FH.CYE4P27@-Z8P$%V](X ?A6#W3\"TT,Q+Z8_ GY83# M$82.+WKV$7R]3+51>,._C76[8PO'V>Q7O] -RV#IX6>M0>W!2UZ^F)_[[\>D M_B>R)\+/!N%G4^S)75NGH(C<$30E>^-0>G_+])CPCNW,L5EWVB?SF.Y/U4SF M^TJ::M-6XI_6DF$FROSW%Z+?.!$-G.C'TQ")J4(5S3DTRV0K3N<6P M.ICSI?,D^BN\<_9;I@HN-*E@AU!_=H'95>>6W<3(QAE.*@W:EQN6^(,!90-P M?R>E.4YL@N&7E?P$4$L#!!0 ( /"$:5?9*4BIA@0 .P5 9 >&PO M=V]R:W-H965TB0=I_OUHUXL6Q2C.:OZQ9:HYQ[RX9WN3ASO&?\J M-@ 2/><9%=?61LKME6V+Y0;R1%RR+5#UY)'Q/)'JEJ]ML>60K$JC/+.)XP1V MGJ34FHS+L3L^&;.=S%(*=QR)79XG_-L-9&Q_;6'K,'"?KC>R&+ GXVVRACG( M+]L[KN[LAF65YD!%RBCB\'AM? MLP&I#8ANX+U@X-8&[KDS>+6!=^X,?FU02K7&Q8E,)F/.]H@7:,567)2[ M7UJK_4II$2ASR=735-G)R1S6RNT2W<.6<9G2-7J/YF70I/_ "GU,:4*7:9*A M6UI%9>'=Q3=TL+N(029I)MXJNR_S&%V\>8O>H)2BAPW;B82NQ-B6:IW%;/:R M7M--M2;RPII<])E1N1%H1E>P,MC'_?:C'GM;[4^S2>2P23>DEW .VTOD.N\0 M<8AK6,_T?'-BDO-]L\_^]^RMS7";B'%+/O_LB#D-C3]_57!T*R$7?YD\7W&[ M9NXB*UZ);;*$:TNE/0'\":S)SS_AP/G%M.U#DL5#DLT&(FLYR&L@.S"^?I5]4-H7E>1I0J(P"IVQ_72ZO5T8CCPOPFU8W(5%A#@CKPV; M=6&^X_@COX&UQ/J-6/\,L:IN\J2,Q90N60XFT16/=[K,,'!<37,7Y6,R"C3) M712._ AK9#,#C 0^"@"GE7;(.#M.T1!FJ0'G76\ MQVY(-.E=%,:>%A.Q@2H@HT@3;J!R/<\L.VQDA[VR?Y,;X+7F%Y6&G8E)H#EO MVL5@3'Q-9Q?D1HX>T@8FQRPR:D1&_^';TJ4+4!D5#@Z6R;/Y/8ZZ(1UXHU#3 MVT7YKA_H;W$7A2/7Q2--L@%&PN@D)[1DCQK9HU[9=RJ>Q4XIGJK"S5EF$MO+ M\-K*,219/"39;""REANP<^P&G1]8W&OR@7PT*%L\*-ML*+:VFTZ:=OR=);XF M:+_/Q(NT%#8UX@Q%WH#SPX"$>LDSX7K*/"9'R62@0E\3G2[!"R-7[VX,,%.I M-\"PCR-'3XPF7$^QQ\=V&_V28X.-O1^9)7O;]U>[:4BV>%"VV5!L;3<=/PWP.=\&O5G2T*$[OAOI M+:,!IS?&!@CQ_(A@/4_T4;6%'C\(3'\H#.6W\!E]-L6$\+HXRR].R M(WUU#OHYX>N4"I3!HYK*N0R5SEY,9DGQ/"<9#_2)=],C< 2[Q" MNXQ_)_L_<#TA3_(E)&/E?["OL98!DAWC)*^-Q0CRM*A^T6LMQ(F!X%$;V+6! MW35PSQ@XM8'SWA[;5!.W:SF7@H7(8YF$TKV@$JT8),7I?JEM= K M+:2C+#@53U-AQV%Q$X/+B"EP $S#Y ME(&T (]%RMGU2<-?&[)CJ%B*QHO6_<3D8I"R*S.I!W1?#<@^,R '?"4%WS 0 M%TN\5-A'P_;A@+TIQ&D4L@\*W=N#A N\'0''N@:V93N*\6?XONUR3!$G]%:ULI6MH[:5(>^6;5&"IX:(:0S3%VS,?OT% M^M9O*EEUDD4ZR6)-9*T%<)L%<(?89]_$V9$6"\\OAXF7FV%U@3\^54]3[*@:[MM5%1'P6E@[EM6-R'C4,8 M',E:"GB- M[/*E"0XB81NY^23%BM!8QCL01<)4?5B7LRMJX4;R*B/L)V@W%7 MA3X*AG[@JU7P&Q5\#7X@(O@RS79<&4CO_7=Y1!^E\H@^"KJ>%08=+?JP, C& M4*W%N-%B/!B4(EP0<32>#4MCG6%))UFDDRS61-9:@J!9@F#0'>/52F1^@*PJ M?Q.YWR$[N!3I0'5YI5J;H+T%.:@;XJ8!;F^M:")ULD5:V6!=;>R'LXT+8@SOC1UD'BXB" M1&01=3TX;)5%%7S_W''&11TFDZ$;65"GR5L!N>ZQ%9%%4A-V8K(*9OE^-RU0 MLCEAARU6LD'?/1,YCM4*',S%S^M3'TZDI4^=*KVID-,?K.<&?E-0__D3*H54L!\.SR31<)C.0&'ZXE6_=]2I^4P2Y%1(UJARJ=J9:J^QJWX M'T#K] ]V95+9>'97I3X*CH)Q5R05ZMSQ#H\%!QRN. 8U.G6:=ZKDJ53JRJ(" M>=VL1X$2LO1\1X5RSJAR+$#@< 52"7'_]JD\2//APT G6Z25+=;%UEZ08Q4$ M/U<&0:UUD%:V2"M;K(NMO1#'6@@.%T/_SZFCJ%UWLZAHCV2GS;*M^=' M^NJ[R%=$UVG!0(97HBMK-!9[C5:?&JH;3K;EN_0GPCG)R\L-1DM,)4 \7Q'" M#S>R@^:#S^P_4$L#!!0 ( /"$:5&POG;S]L9#Z\DW@GD?OCHXZ=Z>7N_83"YR& MD9?T? _2LP[.:S",.MFF7B\_-ER-[S'F?.%Q;CU1M_Y>Z3R1#4:<^I.QE3EI M9]8]JO=S-,BE:+$#\,QX6RB&'CEI&!\Y^=AZV ?)LA$JHRJ)DPW7)M& TYSD*/8; Y/+YAL[UX%]$\W0"*J'CL9-@'^3 MS7%OTL8OX@U*=B_UIX5)1]@YM!J]5C1G2SM?YHT C+V+LY.RY*N/G,U$05WR M>P<<#BN.+OR79GM%=P<]5]<]V[XNK6K]<#[NL]'X3>X?_(V:#!9,*Z9J&=SEF54 M/+K.&'I-)N:/E2U^LSZC.5EP?=N P[ =?Z496Q1IL^H:"E&O:L=?(+UNTEQ6 M32PF,KJDV;B>JMG$#@,S,%'K#SCL(E?VXTFC/L[+AXSM%XOC]TG-QY]IFL9QDF 5'8^]"L98W9($?OQL MF#;PP.) I-^K-;[;>(<\W0?8GC[5(5BF>"=BF>*U!L1?-_!(4_]N8W' ]L% MK'<@OC\.])3?)XYA5S%MV G&D33%$.A%?X\F"5*=!+[^_<%.21RGJ1\!S*\@ MCC$$3B..8 I X;$L7T/[KR/HO5[*FK_@S?Z!5!+ P04 " #PA&E7EXJ[ M', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6 M!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV M)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(= MI7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( M /"$:5>+R?FXGP0 '$F / >&PO=V]R:V)O;VLN>&ULQ9K?;^(X$(#_ M%2L/ISWI[H#\Z.[VEI4XH+M(75H5U->3FPQ@K6.SM@/M_O5GAZ(Z*IV]EQ%/ M$">$+Y-XOK&=3WMMOC]H_9T]UE+98;)Q;GO9Z]ER S6W?^DM*+]GI4W-G=\T MZY[=&N"5W0"X6O;2?O^B5W.ADL^?CN>Z-;UX0SLHG=#*-X:&>P%[^[(_;+*= ML.)!2.&>ADG[74+":J%$+7Y"-4SZ";,;O?^JC?BIE>-R41HMY3 9'';<@W&B M?-6\")!+_F#;%LTY^>><0?^X,-6X_25D [,A#OX M8G2S%6H=3N.OHA==1AN'X^WHT.7V)@S!H#8FV$ MCN">8AI,#P-B/XQU70L7#K)M'QC[X8*OW,'+H9M(,#T,J/W A6'W7#; O@&W MC6GO<(R78H9(B0VQ@'7[Q-W!5IL0O1@,4CMS2\\F%D(V.\&5X_ M>Y@94F(SH/5=9\R18M)(B:5QLL)C[Y8A9]O?8TK,)2FQ2]!2KQM,S" IL4&B M4N]D"#&?I.3CC3=KOL :8V)&28F-@M9]W4D/S"P9L5F>:ZU3=SG#Q)(1B^4- M(1\Y8TS,,AFQ95Z)^60@T6DM8L6\-O1)1,PPV5D-$T\899AALK,8YD\VYR; MQYB88C)BQ;R%N6CJFIMX6)!ABLF(%8-B=O,C9IN,V#8X9N?9Q&R3$=L&KRMB MS!RS34YLFTY=,0''A>RDH1Q33DZL'+2PF,1CAAQ33DZL'+RPZ-QJS#OY.>>] M.A/L.;J@0NP>'#.>8L\Q]^3$[L$Q+V),S#TYL7O"+.*+$7=PNI-CVLF)M7.L M=WT&]V>K&I\G?C&&!2:W';248R)2:<@ELXIS,-@)[RJ%*?T C-/0;TJ.P,IL785%EU4@Y]FTWZEKSZOC&U/%M MK\__ 5!+ P04 " #PA&E7$R?LNN\! "E(@ &@ 'AL+U]R96QS+W=O MZ)0A&51G ;-JJRQY>V_^F2-??>4]VW9=<=QN^O'V<=A?QR7S;:4_E]* MXVJ;#^UXU?7Y>+JR[H9#6T[+89/Z=O7:;G+2^7R1AI\SFON[GS-GSY]]_I^) MW7J]6^6';O5VR,?RR^#TW@VOXS;GTLR>VV&3R[))'_O+Z3&=#W)UFMS,'E^6 MS?#X(DVJ':00I/6##(*L?I!#D-BOJK01Z*^JM!'HK MZJT$>BOJK01Z*^JM!'H;ZFT$>AOJ;01Z&^IM!'K;9+.$0&]#O8U ;T.]C4!O M0[V-0&]#O8U ;T.]C4!O0[V-0&]'O9U ;T>]G4!O1[V=0&]'O9U ;Y]L=A/H M[:BW$^CMJ+<3Z.VHMQ/H[:BW$^CMJ+<3Z!VH=Q#H':AW$.@=J'<0Z!VH=Q#H M':AW$.@=DX^5!'H'ZAT$>@?J'01Z!^H=?ZGW6#[W>;ST?*_Q^7])=3G=FR^/ M/R^_3Z*$BS/."?Y*N?\"4$L#!!0 ( /"$:5=B(^<8V $ $@B 3 M6T-O;G1E;G1?5'EP97-=+GAM;,W:74^#,!0&X+^R<&M&UZ_Y$>>->JM>^ .+HS#9M4T7%ED5H[M@+!05 MM2;DUE&71I;6MR:F1[]BSA1KLR(F9K,Y*VP7J8O3V-?(KBYO:&DV39S<[M+K M4-MND7EJ0C:YWD_LLQ:9<:ZI"Q/3.-MVY9>4Z5M"GE8. MW7W6_*^+FGR8'R\,VV:Q78-"_&EH9"/E_BF1[MG"=3 MAHHHMDV^+WHRGAS3#M/^RH_.'\J,!::9#]ZZD$[,T^%Q[T?2KYZZ5(A\K,<_ M\2,QE3[Z^Z@_[9+*7V:G[7VV?CV<1V##[?@]_GS&'_4/[$. ]"%!^E @?6B0 M/N8@?9R"]'$&TLSX;?B"Y>@502P$" M% ,4 " #PA&E7!T%-8H$ "Q $ @ $ 9&]C M4')O<',O87!P+GAM;%!+ 0(4 Q0 ( /"$:5<-(NRG[@ "L" 1 M " :\ !D;V-097)PC$ 8 )PG 3 " &UL4$L! A0#% @ \(1I5W:&)';P!0 J2 !@ M ("!#0@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ \(1I5Y$/2[45" @"\ !@ ("!WQD 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \(1I5Z,FK6$W$0 LC !D M ("!%TD 'AL+W=O&PO=V]R:W-H965T M_K*^,K , *@' 9 M " @8%? !X;"]W;W)K&UL4$L! A0# M% @ \(1I5[T-N]Z< P ^@< !D ("!9&, 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ \(1I5T?: MR9ZY!@ KP\ !D ("!]74 'AL+W=O&PO=V]R:W-H965T@P0P TG 9 " @5V$ !X;"]W;W)K&UL4$L! A0#% @ \(1I5^J]I#B+ @ TP4 !D M ("!59$ 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ \(1I5]?+C-@,!0 UPT !D ("! MF:$ 'AL+W=O&PO=V]R:W-H965TI !X;"]W;W)K&UL4$L! A0#% M @ \(1I5PVI%O]4" )18 !D ("!$:P 'AL+W=O&PO=V]R:W-H965T 00 )8) 9 " @2;$ !X;"]W;W)K&UL4$L! A0#% @ \(1I5U(+XB7S @ 8@8 !D M ("!7L@ 'AL+W=O,$ (#0 &0 @(&(RP >&PO=V]R M:W-H965T&UL M4$L! A0#% @ \(1I5_,$9ULZ! *0H !D ("!D]0 M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M\(1I5ZV[7G0B P T !D ("!3N( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \(1I5^A\2U-A P MQ P !D ("!/>X 'AL+W=O8 " #&!@ &0 @('5 M\0 >&PO=V]R:W-H965T M5PD)!04 !P? 9 " @8ST !X;"]W;W)K&UL4$L! A0#% @ \(1I5[7ND9<= P B@L !D M ("!R/D 'AL+W=O&PO=V]R:W-H M965T4 0!X;"]W;W)K&UL4$L! M A0#% @ \(1I5T4/&*2A @ :P< !D ("!5@0! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ \(1I M5Z&PO=V]R:W-H965T'0\ &W$ 9 " @1 ; 0!X;"]W;W)K M&UL4$L! A0#% @ \(1I5\]AI?R! P YA, M !D ("!9"H! 'AL+W=O0S0 $ & &0 @($<+@$ M>&PO=V]R:W-H965T:4 M*04 PG 9 " @5,R 0!X;"]W;W)K&UL4$L! A0#% @ \(1I5_U\)&A, @ "P4 !D M ("!LS&PO=V]R:W-H965T M&UL4$L! A0# M% @ \(1I5R8;.%X.!0 _!D !D ("!BT$! 'AL+W=O M&PO7BKL

+R?FXGP0 '$F / " 2-+ M 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4 " #PA&E7$R?LNN\! "E(@ M&@ @ 'O3P$ >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-0 M2P$"% ,4 " #PA&E78B/G&-@! !((@ $P @ $64@$ I6T-O;G1E;G1?5'EP97-=+GAM;%!+!08 0@!" 42 ?5 $ ! end XML 71 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 72 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.23.3 html 211 289 1 false 64 0 false 5 false false R1.htm 0000001 - Document - Cover Sheet http://cactuswellhead.com/role/Cover Cover Cover 1 false false R2.htm 0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME CONDENSED CONSOLIDATED STATEMENTS OF INCOME Statements 4 false false R5.htm 0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 5 false false R6.htm 0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 6 false false R7.htm 0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Statements 7 false false R8.htm 0000008 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 8 false false R9.htm 0000009 - Disclosure - Preparation of Interim Financial Statements and Other Items Sheet http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItems Preparation of Interim Financial Statements and Other Items Notes 9 false false R10.htm 0000010 - Disclosure - FlexSteel Acquisition Sheet http://cactuswellhead.com/role/FlexSteelAcquisition FlexSteel Acquisition Notes 10 false false R11.htm 0000011 - Disclosure - Accounts Receivable and Allowance for Credit Losses Sheet http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLosses Accounts Receivable and Allowance for Credit Losses Notes 11 false false R12.htm 0000012 - Disclosure - Inventories Sheet http://cactuswellhead.com/role/Inventories Inventories Notes 12 false false R13.htm 0000013 - Disclosure - Property and Equipment, net Sheet http://cactuswellhead.com/role/PropertyandEquipmentnet Property and Equipment, net Notes 13 false false R14.htm 0000014 - Disclosure - Goodwill and Other Intangible Assets Sheet http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssets Goodwill and Other Intangible Assets Notes 14 false false R15.htm 0000015 - Disclosure - Debt Sheet http://cactuswellhead.com/role/Debt Debt Notes 15 false false R16.htm 0000016 - Disclosure - Revenue Sheet http://cactuswellhead.com/role/Revenue Revenue Notes 16 false false R17.htm 0000017 - Disclosure - Tax Receivable Agreement ("TRA") Sheet http://cactuswellhead.com/role/TaxReceivableAgreementTRA Tax Receivable Agreement ("TRA") Notes 17 false false R18.htm 0000018 - Disclosure - Equity Sheet http://cactuswellhead.com/role/Equity Equity Notes 18 false false R19.htm 0000019 - Disclosure - Commitments and Contingencies Sheet http://cactuswellhead.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 19 false false R20.htm 0000020 - Disclosure - Fair Value Measurements Sheet http://cactuswellhead.com/role/FairValueMeasurements Fair Value Measurements Notes 20 false false R21.htm 0000021 - Disclosure - Segment Reporting Sheet http://cactuswellhead.com/role/SegmentReporting Segment Reporting Notes 21 false false R22.htm 0000022 - Disclosure - Earnings per Share Sheet http://cactuswellhead.com/role/EarningsperShare Earnings per Share Notes 22 false false R23.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 23 false false R24.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 24 false false R25.htm 9954471 - Disclosure - Preparation of Interim Financial Statements and Other Items (Policies) Sheet http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies Preparation of Interim Financial Statements and Other Items (Policies) Policies 25 false false R26.htm 9954472 - Disclosure - FlexSteel Acquisition (Tables) Sheet http://cactuswellhead.com/role/FlexSteelAcquisitionTables FlexSteel Acquisition (Tables) Tables http://cactuswellhead.com/role/FlexSteelAcquisition 26 false false R27.htm 9954473 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Tables) Sheet http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesTables Accounts Receivable and Allowance for Credit Losses (Tables) Tables http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLosses 27 false false R28.htm 9954474 - Disclosure - Inventories (Tables) Sheet http://cactuswellhead.com/role/InventoriesTables Inventories (Tables) Tables http://cactuswellhead.com/role/Inventories 28 false false R29.htm 9954475 - Disclosure - Property and Equipment, net (Tables) Sheet http://cactuswellhead.com/role/PropertyandEquipmentnetTables Property and Equipment, net (Tables) Tables http://cactuswellhead.com/role/PropertyandEquipmentnet 29 false false R30.htm 9954476 - Disclosure - Goodwill and Other Intangible Assets (Tables) Sheet http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsTables Goodwill and Other Intangible Assets (Tables) Tables http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssets 30 false false R31.htm 9954477 - Disclosure - Revenue (Tables) Sheet http://cactuswellhead.com/role/RevenueTables Revenue (Tables) Tables http://cactuswellhead.com/role/Revenue 31 false false R32.htm 9954478 - Disclosure - Fair Value Measurements (Tables) Sheet http://cactuswellhead.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://cactuswellhead.com/role/FairValueMeasurements 32 false false R33.htm 9954479 - Disclosure - Segment Reporting (Tables) Sheet http://cactuswellhead.com/role/SegmentReportingTables Segment Reporting (Tables) Tables http://cactuswellhead.com/role/SegmentReporting 33 false false R34.htm 9954480 - Disclosure - Earnings per Share (Tables) Sheet http://cactuswellhead.com/role/EarningsperShareTables Earnings per Share (Tables) Tables http://cactuswellhead.com/role/EarningsperShare 34 false false R35.htm 9954481 - Disclosure - Preparation of Interim Financial Statements and Other Items (Details) Sheet http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails Preparation of Interim Financial Statements and Other Items (Details) Details http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies 35 false false R36.htm 9954482 - Disclosure - FlexSteel Acquisition - Narrative (Details) Sheet http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails FlexSteel Acquisition - Narrative (Details) Details 36 false false R37.htm 9954483 - Disclosure - FlexSteel Acquisition - Summary of Purchase Price Consideration (Details) Sheet http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails FlexSteel Acquisition - Summary of Purchase Price Consideration (Details) Details 37 false false R38.htm 9954484 - Disclosure - FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details) Sheet http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details) Details 38 false false R39.htm 9954485 - Disclosure - FlexSteel Acquisition - Summary of Unadited Proforma Results (Details) Sheet http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails FlexSteel Acquisition - Summary of Unadited Proforma Results (Details) Details 39 false false R40.htm 9954486 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Details) Sheet http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails Accounts Receivable and Allowance for Credit Losses (Details) Details http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesTables 40 false false R41.htm 9954487 - Disclosure - Inventories (Details) Sheet http://cactuswellhead.com/role/InventoriesDetails Inventories (Details) Details http://cactuswellhead.com/role/InventoriesTables 41 false false R42.htm 9954488 - Disclosure - Property and Equipment, net (Details) Sheet http://cactuswellhead.com/role/PropertyandEquipmentnetDetails Property and Equipment, net (Details) Details http://cactuswellhead.com/role/PropertyandEquipmentnetTables 42 false false R43.htm 9954489 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) Sheet http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails Goodwill and Other Intangible Assets - Schedule of Goodwill (Details) Details 43 false false R44.htm 9954490 - Disclosure - Goodwill and Other Intangible Assets - Summary of Total Intangible Assets (Details) Sheet http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails Goodwill and Other Intangible Assets - Summary of Total Intangible Assets (Details) Details 44 false false R45.htm 9954491 - Disclosure - Goodwill and Other Intangible Assets - Narrative (Details) Sheet http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails Goodwill and Other Intangible Assets - Narrative (Details) Details 45 false false R46.htm 9954492 - Disclosure - Goodwill and Other Intangible Assets - Summary of Future Amortization (Details) Sheet http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails Goodwill and Other Intangible Assets - Summary of Future Amortization (Details) Details 46 false false R47.htm 9954493 - Disclosure - Debt - Narrative (Details) Sheet http://cactuswellhead.com/role/DebtNarrativeDetails Debt - Narrative (Details) Details 47 false false R48.htm 9954494 - Disclosure - Revenue - Schedule of Revenues Disaggregated by Category (Details) Sheet http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails Revenue - Schedule of Revenues Disaggregated by Category (Details) Details 48 false false R49.htm 9954495 - Disclosure - Revenue - Narrative (Details) Sheet http://cactuswellhead.com/role/RevenueNarrativeDetails Revenue - Narrative (Details) Details 49 false false R50.htm 9954496 - Disclosure - Tax Receivable Agreement ("TRA") (Details) Sheet http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails Tax Receivable Agreement ("TRA") (Details) Details http://cactuswellhead.com/role/TaxReceivableAgreementTRA 50 false false R51.htm 9954497 - Disclosure - Equity (Details) Sheet http://cactuswellhead.com/role/EquityDetails Equity (Details) Details http://cactuswellhead.com/role/Equity 51 false false R52.htm 9954498 - Disclosure - Fair Value Measurements - Summary of Liabilities Measured at Fair Value (Details) Sheet http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails Fair Value Measurements - Summary of Liabilities Measured at Fair Value (Details) Details 52 false false R53.htm 9954499 - Disclosure - Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details) Sheet http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details) Details 53 false false R54.htm 9954500 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value (Details) Sheet http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails Fair Value Measurements - Summary of Changes in Fair Value (Details) Details 54 false false R55.htm 9954501 - Disclosure - Fair Value Measurements - Narrative (Details) Sheet http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails Fair Value Measurements - Narrative (Details) Details 55 false false R56.htm 9954502 - Disclosure - Segment Reporting - Narrative (Details) Sheet http://cactuswellhead.com/role/SegmentReportingNarrativeDetails Segment Reporting - Narrative (Details) Details 56 false false R57.htm 9954503 - Disclosure - Segment Reporting - Summarized Financial Information by Segment (Details) Sheet http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails Segment Reporting - Summarized Financial Information by Segment (Details) Details 57 false false R58.htm 9954504 - Disclosure - Earnings per Share (Details) Sheet http://cactuswellhead.com/role/EarningsperShareDetails Earnings per Share (Details) Details http://cactuswellhead.com/role/EarningsperShareTables 58 false false All Reports Book All Reports whd-20230930.htm whd-20230930.xsd whd-20230930_cal.xml whd-20230930_def.xml whd-20230930_lab.xml whd-20230930_pre.xml 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": { "whd-20230930.htm": { "nsprefix": "whd", "nsuri": "http://cactuswellhead.com/20230930", "dts": { "inline": { "local": [ "whd-20230930.htm" ] }, "schema": { "local": [ "whd-20230930.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/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-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" ] }, "calculationLink": { "local": [ "whd-20230930_cal.xml" ] }, "definitionLink": { "local": [ "whd-20230930_def.xml" ] }, "labelLink": { "local": [ "whd-20230930_lab.xml" ] }, "presentationLink": { "local": [ "whd-20230930_pre.xml" ] } }, "keyStandard": 258, "keyCustom": 31, "axisStandard": 23, "axisCustom": 0, "memberStandard": 36, "memberCustom": 27, "hidden": { "total": 6, "http://xbrl.sec.gov/dei/2023": 5, "http://fasb.org/us-gaap/2023": 1 }, "contextCount": 211, "entityCount": 1, "segmentCount": 64, "elementCount": 560, "unitCount": 5, "baseTaxonomies": { "http://xbrl.sec.gov/ecd/2023": 4, "http://fasb.org/us-gaap/2023": 754, "http://xbrl.sec.gov/dei/2023": 30 }, "report": { "R1": { "role": "http://cactuswellhead.com/role/Cover", "longName": "0000001 - Document - Cover", "shortName": "Cover", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R2": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "longName": "0000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R3": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "longName": "0000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R4": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "longName": "0000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-22", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-22", "name": "us-gaap:OperatingExpenses", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R5": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "longName": "0000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-22", "name": "us-gaap:ProfitLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-22", "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R6": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "longName": "0000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-80", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-80", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R7": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical", "longName": "0000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "c-22", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": null }, "R8": { "role": "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "longName": "0000008 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ProfitLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R9": { "role": "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItems", "longName": "0000009 - Disclosure - Preparation of Interim Financial Statements and Other Items", "shortName": "Preparation of Interim Financial Statements and Other Items", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R10": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisition", "longName": "0000010 - Disclosure - FlexSteel Acquisition", "shortName": "FlexSteel Acquisition", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R11": { "role": "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLosses", "longName": "0000011 - Disclosure - Accounts Receivable and Allowance for Credit Losses", "shortName": "Accounts Receivable and Allowance for Credit Losses", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R12": { "role": "http://cactuswellhead.com/role/Inventories", "longName": "0000012 - Disclosure - Inventories", "shortName": "Inventories", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R13": { "role": "http://cactuswellhead.com/role/PropertyandEquipmentnet", "longName": "0000013 - Disclosure - Property and Equipment, net", "shortName": "Property and Equipment, net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R14": { "role": "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssets", "longName": "0000014 - Disclosure - Goodwill and Other Intangible Assets", "shortName": "Goodwill and Other Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R15": { "role": "http://cactuswellhead.com/role/Debt", "longName": "0000015 - Disclosure - Debt", "shortName": "Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R16": { "role": "http://cactuswellhead.com/role/Revenue", "longName": "0000016 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R17": { "role": "http://cactuswellhead.com/role/TaxReceivableAgreementTRA", "longName": "0000017 - Disclosure - Tax Receivable Agreement (\"TRA\")", "shortName": "Tax Receivable Agreement (\"TRA\")", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "whd:TaxReceivableAgreementDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "whd:TaxReceivableAgreementDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R18": { "role": "http://cactuswellhead.com/role/Equity", "longName": "0000018 - Disclosure - Equity", "shortName": "Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R19": { "role": "http://cactuswellhead.com/role/CommitmentsandContingencies", "longName": "0000019 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R20": { "role": "http://cactuswellhead.com/role/FairValueMeasurements", "longName": "0000020 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R21": { "role": "http://cactuswellhead.com/role/SegmentReporting", "longName": "0000021 - Disclosure - Segment Reporting", "shortName": "Segment Reporting", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R22": { "role": "http://cactuswellhead.com/role/EarningsperShare", "longName": "0000022 - Disclosure - Earnings per Share", "shortName": "Earnings per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R23": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-22", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": null }, "R24": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "c-22", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-22", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R25": { "role": "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies", "longName": "9954471 - Disclosure - Preparation of Interim Financial Statements and Other Items (Policies)", "shortName": "Preparation of Interim Financial Statements and Other Items (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R26": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisitionTables", "longName": "9954472 - Disclosure - FlexSteel Acquisition (Tables)", "shortName": "FlexSteel Acquisition (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R27": { "role": "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesTables", "longName": "9954473 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Tables)", "shortName": "Accounts Receivable and Allowance for Credit Losses (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R28": { "role": "http://cactuswellhead.com/role/InventoriesTables", "longName": "9954474 - Disclosure - Inventories (Tables)", "shortName": "Inventories (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R29": { "role": "http://cactuswellhead.com/role/PropertyandEquipmentnetTables", "longName": "9954475 - Disclosure - Property and Equipment, net (Tables)", "shortName": "Property and Equipment, net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R30": { "role": "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsTables", "longName": "9954476 - Disclosure - Goodwill and Other Intangible Assets (Tables)", "shortName": "Goodwill and Other Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R31": { "role": "http://cactuswellhead.com/role/RevenueTables", "longName": "9954477 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R32": { "role": "http://cactuswellhead.com/role/FairValueMeasurementsTables", "longName": "9954478 - Disclosure - Fair Value Measurements (Tables)", "shortName": "Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R33": { "role": "http://cactuswellhead.com/role/SegmentReportingTables", "longName": "9954479 - Disclosure - Segment Reporting (Tables)", "shortName": "Segment Reporting (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R34": { "role": "http://cactuswellhead.com/role/EarningsperShareTables", "longName": "9954480 - Disclosure - Earnings per Share (Tables)", "shortName": "Earnings per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R35": { "role": "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails", "longName": "9954481 - Disclosure - Preparation of Interim Financial Statements and Other Items (Details)", "shortName": "Preparation of Interim Financial Statements and Other Items (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "35", "firstAnchor": { "contextRef": "c-1", "name": "whd:NumberOfBusinessSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "whd:NumberOfBusinessSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R36": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "longName": "9954482 - Disclosure - FlexSteel Acquisition - Narrative (Details)", "shortName": "FlexSteel Acquisition - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-95", "name": "us-gaap:EquityIssuedInBusinessCombinationFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R37": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "longName": "9954483 - Disclosure - FlexSteel Acquisition - Summary of Purchase Price Consideration (Details)", "shortName": "FlexSteel Acquisition - Summary of Purchase Price Consideration (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-93", "name": "us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R38": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "longName": "9954484 - Disclosure - FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details)", "shortName": "FlexSteel Acquisition - Summary of Preliminary Purchase Price Allocation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "c-95", "name": "whd:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-95", "name": "whd:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R39": { "role": "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails", "longName": "9954485 - Disclosure - FlexSteel Acquisition - Summary of Unadited Proforma Results (Details)", "shortName": "FlexSteel Acquisition - Summary of Unadited Proforma Results (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-101", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-101", "name": "us-gaap:BusinessAcquisitionsProFormaRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R40": { "role": "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails", "longName": "9954486 - Disclosure - Accounts Receivable and Allowance for Credit Losses (Details)", "shortName": "Accounts Receivable and Allowance for Credit Losses (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R41": { "role": "http://cactuswellhead.com/role/InventoriesDetails", "longName": "9954487 - Disclosure - Inventories (Details)", "shortName": "Inventories (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:InventoryRawMaterials", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:InventoryRawMaterials", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R42": { "role": "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails", "longName": "9954488 - Disclosure - Property and Equipment, net (Details)", "shortName": "Property and Equipment, net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R43": { "role": "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "longName": "9954489 - Disclosure - Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)", "shortName": "Goodwill and Other Intangible Assets - Schedule of Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:GoodwillAcquiredDuringPeriod", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R44": { "role": "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails", "longName": "9954490 - Disclosure - Goodwill and Other Intangible Assets - Summary of Total Intangible Assets (Details)", "shortName": "Goodwill and Other Intangible Assets - Summary of Total Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "whd:ScheduleOfIntangibleAssetsExcludingGoodwillTableTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "whd:ScheduleOfIntangibleAssetsExcludingGoodwillTableTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R45": { "role": "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "longName": "9954491 - Disclosure - Goodwill and Other Intangible Assets - Narrative (Details)", "shortName": "Goodwill and Other Intangible Assets - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-22", "name": "us-gaap:SellingGeneralAndAdministrativeExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-133", "name": "us-gaap:SellingGeneralAndAdministrativeExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R46": { "role": "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails", "longName": "9954492 - Disclosure - Goodwill and Other Intangible Assets - Summary of Future Amortization (Details)", "shortName": "Goodwill and Other Intangible Assets - Summary of Future Amortization (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R47": { "role": "http://cactuswellhead.com/role/DebtNarrativeDetails", "longName": "9954493 - Disclosure - Debt - Narrative (Details)", "shortName": "Debt - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-5", "name": "us-gaap:LongTermDebt", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-5", "name": "us-gaap:LongTermDebt", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R48": { "role": "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails", "longName": "9954494 - Disclosure - Revenue - Schedule of Revenues Disaggregated by Category (Details)", "shortName": "Revenue - Schedule of Revenues Disaggregated by Category (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-22", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-22", "name": "whd:RevenueAsPercentage", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R49": { "role": "http://cactuswellhead.com/role/RevenueNarrativeDetails", "longName": "9954495 - Disclosure - Revenue - Narrative (Details)", "shortName": "Revenue - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-4", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "us-gaap:ContractWithCustomerLiabilityCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R50": { "role": "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails", "longName": "9954496 - Disclosure - Tax Receivable Agreement (\"TRA\") (Details)", "shortName": "Tax Receivable Agreement (\"TRA\") (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "c-154", "name": "whd:TaxSavingsPayableToTraHoldersAsPercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-154", "name": "whd:TaxSavingsPayableToTraHoldersAsPercent", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R51": { "role": "http://cactuswellhead.com/role/EquityDetails", "longName": "9954497 - Disclosure - Equity (Details)", "shortName": "Equity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:StockIssuedDuringPeriodValueNewIssues", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-168", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-6", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R52": { "role": "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails", "longName": "9954498 - Disclosure - Fair Value Measurements - Summary of Liabilities Measured at Fair Value (Details)", "shortName": "Fair Value Measurements - Summary of Liabilities Measured at Fair Value (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-178", "name": "us-gaap:LiabilitiesFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-178", "name": "us-gaap:LiabilitiesFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R53": { "role": "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails", "longName": "9954499 - Disclosure - Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details)", "shortName": "Fair Value Measurements - Summary of Significant Assumptions to Determine Fair Value (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-190", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "4", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-190", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "4", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R54": { "role": "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "longName": "9954500 - Disclosure - Fair Value Measurements - Summary of Changes in Fair Value (Details)", "shortName": "Fair Value Measurements - Summary of Changes in Fair Value (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-22", "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-195", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R55": { "role": "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "longName": "9954501 - Disclosure - Fair Value Measurements - Narrative (Details)", "shortName": "Fair Value Measurements - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-201", "name": "us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-201", "name": "us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R56": { "role": "http://cactuswellhead.com/role/SegmentReportingNarrativeDetails", "longName": "9954502 - Disclosure - Segment Reporting - Narrative (Details)", "shortName": "Segment Reporting - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-202", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-202", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "segment", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true, "unique": true } }, "R57": { "role": "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails", "longName": "9954503 - Disclosure - Segment Reporting - Summarized Financial Information by Segment (Details)", "shortName": "Segment Reporting - Summarized Financial Information by Segment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-22", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-203", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } }, "R58": { "role": "http://cactuswellhead.com/role/EarningsperShareDetails", "longName": "9954504 - Disclosure - Earnings per Share (Details)", "shortName": "Earnings per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "c-22", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-22", "name": "us-gaap:NetIncomeLossAttributableToRedeemableNoncontrollingInterest", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "whd-20230930.htm", "unique": true } } }, "tag": { "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Paid-In Capital", "label": "Additional Paid-in Capital [Member]", "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": [ "r435", "r436", "r437", "r587", "r820", "r821", "r822", "r864", "r885" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies Disclosure [Abstract]", "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/CommitmentsandContingencies" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r117", "r324", "r325", "r664", "r849" ] }, "us-gaap_LongTermDebtTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtTerm", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Term", "label": "Long-Term Debt, Term", "documentation": "Period between issuance and maturity of long-term debt, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r866" ] }, "us-gaap_BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Add: Contingent consideration", "label": "Business Combination, Consideration Transferred, Equity Interests Issued and Issuable", "documentation": "Amount of equity interests of the acquirer, including instruments or interests issued or issuable in consideration for the business combination." } } }, "auth_ref": [ "r1", "r2" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCapitalLeaseObligation", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Finance lease obligations", "label": "Business Combination, Recognized Identifiable Asset Acquired and Liability Assumed, Lease Obligation", "documentation": "Amount of lease obligation assumed in business combination." } } }, "auth_ref": [ "r69" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommonClassBMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonClassBMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/Cover", "http://cactuswellhead.com/role/EarningsperShareDetails", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class B Common Stock", "label": "Common Class B [Member]", "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation." } } }, "auth_ref": [ "r885" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax liability, net", "label": "Deferred Income Tax Liabilities, Net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r438", "r439", "r536" ] }, "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": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r786" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, shares issued (in shares)", "label": "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": [ "r90" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 2", "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r353", "r400", "r405", "r471", "r499", "r680", "r681", "r692", "r693", "r694" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, $0.01 par value", "label": "Common Stock, Value, Issued", "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": [ "r90", "r539", "r702" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 1", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r353", "r400", "r405", "r471", "r498", "r692", "r693", "r694" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Debt Disclosure [Abstract]", "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r90", "r609" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, shares outstanding (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r15", "r90", "r609", "r627", "r885", "r886" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r15", "r28", "r147", "r169", "r170", "r171", "r189", "r190", "r191", "r193", "r199", "r201", "r218", "r288", "r289", "r384", "r435", "r436", "r437", "r442", "r443", "r458", "r459", "r460", "r461", "r462", "r463", "r466", "r479", "r480", "r481", "r482", "r483", "r484", "r492", "r573", "r574", "r575", "r587", "r647" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 3", "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r353", "r400", "r401", "r402", "r403", "r404", "r405", "r471", "r500", "r680", "r681", "r692", "r693", "r694" ] }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItems" ], "lang": { "en-us": { "role": { "verboseLabel": "Preparation of Interim Financial Statements and Other Items", "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r110" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Retained Earnings", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r147", "r189", "r190", "r191", "r193", "r199", "r201", "r288", "r289", "r435", "r436", "r437", "r442", "r443", "r458", "r460", "r461", "r463", "r466", "r573", "r575", "r587", "r885" ] }, "whd_TaxReceivableAgreementDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "TaxReceivableAgreementDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/TaxReceivableAgreementTRA" ], "lang": { "en-us": { "role": { "terseLabel": "Tax Receivable Agreement (\"TRA\")", "label": "Tax Receivable Agreement Disclosure [Text Block]", "documentation": "The entire disclosure for the tax receivable agreement." } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "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": [ "r15", "r147", "r169", "r170", "r171", "r189", "r190", "r191", "r193", "r199", "r201", "r218", "r288", "r289", "r384", "r435", "r436", "r437", "r442", "r443", "r458", "r459", "r460", "r461", "r462", "r463", "r466", "r479", "r480", "r481", "r482", "r483", "r484", "r492", "r573", "r574", "r575", "r587", "r647" ] }, "whd_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortizationBeforeConstructionInProgress": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortizationBeforeConstructionInProgress", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net property and equipment", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Before Construction in Progress", "documentation": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization Before Construction in Progress" } } }, "auth_ref": [] }, "whd_TaxReceivableAgreementExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "TaxReceivableAgreementExpenseBenefit", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Tax receivable expense", "label": "Tax Receivable Agreement Expense (Benefit)", "documentation": "Tax Receivable Agreement Expense (Benefit)" } } }, "auth_ref": [] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r705", "r706", "r707", "r709", "r710", "r711", "r712", "r820", "r821", "r864", "r883", "r885" ] }, "whd_CactusIncMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CactusIncMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cactus Inc", "label": "Cactus Inc [Member]", "documentation": "Represents the information pertaining to Cactus Inc." } } }, "auth_ref": [] }, "us-gaap_InventoryDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Inventory Disclosure [Abstract]", "label": "Inventory Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_TreasuryStockAcquiredAverageCostPerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockAcquiredAverageCostPerShare", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Average stock repurchased price (in dollars per share)", "label": "Shares Acquired, Average Cost Per Share", "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased." } } }, "auth_ref": [ "r63" ] }, "whd_CCUnitHoldersOtherThanCactusIncMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CCUnitHoldersOtherThanCactusIncMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "CC Unit Holders other than Cactus, Inc.", "label": "CC Unit Holders Other Than Cactus Inc [Member]", "documentation": "CW Unit Holders other than Cactus Inc [Member]" } } }, "auth_ref": [] }, "whd_CreditDiscountRateMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CreditDiscountRateMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit discount rate", "label": "Credit Discount Rate [Member]", "documentation": "Credit Discount Rate" } } }, "auth_ref": [] }, "whd_March2021SecondaryOfferingMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "March2021SecondaryOfferingMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "March 2021 Secondary Offering", "label": "March 2021 Secondary Offering [Member]", "documentation": "March 2021 Secondary Offering" } } }, "auth_ref": [] }, "us-gaap_DistributionMadeToLimitedPartnerCashDistributionsPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DistributionMadeToLimitedPartnerCashDistributionsPaid", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash distributions to unit holders", "label": "Distribution Made to Limited Partner, Cash Distributions Paid", "documentation": "Amount of cash distribution paid to unit-holder of limited partnership (LP)." } } }, "auth_ref": [ "r122" ] }, "whd_AccountsReceivableAllowanceForCreditLossesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "AccountsReceivableAllowanceForCreditLossesOther", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Translation Adjustments", "label": "Accounts Receivable, Allowance for Credit Losses, Other", "documentation": "Accounts Receivable, Allowance for Credit Losses, Other" } } }, "auth_ref": [] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated Other Comprehensive Income (Loss)", "label": "AOCI Attributable to Parent [Member]", "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": [ "r5", "r14", "r31", "r459", "r462", "r492", "r573", "r574", "r812", "r813", "r814", "r820", "r821", "r822" ] }, "us-gaap_DistributionMadeToLimitedLiabilityCompanyLLCMemberCashDistributionsPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DistributionMadeToLimitedLiabilityCompanyLLCMemberCashDistributionsPaid", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Distributions to members", "terseLabel": "Pro rata distributions made to other members", "label": "Distribution Made to Limited Liability Company (LLC) Member, Cash Distributions Paid", "documentation": "Amount of cash distribution paid to unit-holder of limited liability company (LLC)." } } }, "auth_ref": [ "r122" ] }, "whd_AdditionalOfferingMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "AdditionalOfferingMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additional Offering", "label": "Additional Offering [Member]", "documentation": "Additional Offering" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]", "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": [ "r65", "r66", "r447" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash consideration", "label": "Payments to Acquire Businesses, Gross", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r33", "r449" ] }, "us-gaap_FairValueByLiabilityClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByLiabilityClassAxis", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Liability Class [Axis]", "label": "Liability Class [Axis]", "documentation": "Information by class of liability." } } }, "auth_ref": [ "r81", "r127" ] }, "us-gaap_SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredOvernightFinancingRateSofrOvernightIndexSwapRateMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate", "label": "Secured Overnight Financing Rate (SOFR) Overnight Index Swap Rate [Member]", "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": [ "r863" ] }, "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueShareBasedCompensation", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Equity award vestings", "label": "Shares Issued, Value, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r64", "r89", "r90", "r122" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "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": [ "r353", "r400", "r401", "r402", "r403", "r404", "r405", "r471", "r498", "r499", "r500", "r680", "r681", "r692", "r693", "r694" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]", "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r57", "r59", "r527" ] }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfLongTermDebt", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from the issuance of long-term debt", "label": "Proceeds from Issuance of Long-Term Debt", "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer." } } }, "auth_ref": [ "r34", "r580" ] }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueNewIssues", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Issuances of common stock", "label": "Stock Issued During Period, Value, New Issues", "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering." } } }, "auth_ref": [ "r15", "r89", "r90", "r122", "r587", "r647", "r658", "r714" ] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Effect of dilutive shares (in shares)", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r206", "r207", "r208", "r213", "r407" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Axis]", "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r470", "r471", "r473", "r474", "r476" ] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of common stock (in shares)", "label": "Stock Issued During Period, Shares, New Issues", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r15", "r89", "r90", "r122", "r580", "r647", "r658" ] }, "us-gaap_SaleOfStockConsiderationReceivedOnTransaction": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockConsiderationReceivedOnTransaction", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash consideration", "label": "Sale of Stock, Consideration Received on Transaction", "documentation": "Cash received on stock transaction after deduction of issuance costs." } } }, "auth_ref": [] }, "us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockNumberOfSharesIssuedInTransaction", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares sold (in shares)", "label": "Sale of Stock, Number of Shares Issued in Transaction", "documentation": "The number of shares issued or sold by the subsidiary or equity method investee per stock transaction." } } }, "auth_ref": [] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term Debt, Type [Domain]", "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", "r60" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Equity award vestings (in shares)", "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r15", "r89", "r90", "r122" ] }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockNameOfTransactionDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of Stock [Domain]", "label": "Sale of Stock [Domain]", "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement." } } }, "auth_ref": [] }, "us-gaap_SaleOfStockPricePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockPricePerShare", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Price of stock (in dollars per share)", "label": "Sale of Stock, Price Per Share", "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Deferred income taxes", "label": "Increase (Decrease) in Deferred Income Taxes", "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": [ "r10" ] }, "us-gaap_IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Net income", "label": "Income (Loss) from Continuing Operations, Net of Tax, Including Portion Attributable to Noncontrolling Interest", "documentation": "Amount after tax of income (loss) from continuing operations including portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r125", "r185", "r192", "r225", "r239", "r245", "r248", "r287", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r468", "r477", "r545", "r675", "r853" ] }, "us-gaap_ProceedsFromSaleOfProductiveAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfProductiveAssets", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from sales of assets", "label": "Proceeds from Sale of Productive Assets", "documentation": "The cash inflow from the sale of property, plant and equipment (capital expenditures), software, and other intangible assets." } } }, "auth_ref": [ "r106" ] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Preliminary Purchase Price Allocation", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree." } } }, "auth_ref": [ "r124" ] }, "us-gaap_ClassOfStockDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ClassOfStockDomain", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/Cover", "http://cactuswellhead.com/role/EarningsperShareDetails", "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class of Stock [Domain]", "label": "Class of Stock [Domain]", "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock." } } }, "auth_ref": [ "r146", "r159", "r160", "r161", "r185", "r205", "r209", "r211", "r213", "r219", "r220", "r287", "r330", "r332", "r333", "r334", "r337", "r338", "r369", "r370", "r373", "r376", "r383", "r477", "r580", "r581", "r582", "r583", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r609", "r630", "r647", "r657", "r658", "r659", "r660", "r661", "r792", "r817", "r823" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other noncurrent assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r157" ] }, "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Tax benefit for release of valuation allowance", "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets." } } }, "auth_ref": [ "r861" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash paid for interest", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r177", "r180", "r181" ] }, "us-gaap_SecuredDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredDebtMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Secured Debt", "label": "Secured Debt [Member]", "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_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/InventoriesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Inventories", "label": "Schedule of Inventory, Current [Table Text Block]", "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r20", "r96", "r97", "r98" ] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock purchased and retired (in shares)", "label": "Stock Repurchased and Retired During Period, Shares", "documentation": "Number of shares that have been repurchased and retired during the period." } } }, "auth_ref": [ "r15", "r89", "r90", "r122" ] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, par value (in dollars per share)", "label": "Preferred Stock, Par or Stated Value 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": [ "r89", "r369" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive loss", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r30", "r31", "r99", "r162", "r540", "r577", "r578" ] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "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": [ "r717" ] }, "dei_EntitiesTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitiesTable", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Entities [Table]", "documentation": "Container to assemble all relevant information about each entity associated with the document instance" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Liabilities Measured at Fair Value", "label": "Fair Value, Liabilities Measured on Recurring Basis [Table Text Block]", "documentation": "Tabular disclosure of liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3). Where the quoted price in an active market for the identical liability is not available, the Level 1 input is the quoted price of an identical liability when traded as an asset." } } }, "auth_ref": [ "r80", "r128" ] }, "us-gaap_ProductAndServiceOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductAndServiceOtherMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Field service and other revenue", "label": "Product and Service, Other [Member]", "documentation": "Article or substance produced by nature, labor or machinery and act of providing assistance, classified as other." } } }, "auth_ref": [ "r859" ] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Basic and Diluted Earnings per Share", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "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": [ "r824" ] }, "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]" } } }, "auth_ref": [ "r720", "r790" ] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "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": [ "r717" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Future Amortization", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r59" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Changes in Fair Value", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]", "documentation": "Tabular disclosure of the fair value measurement of liabilities using significant unobservable inputs (Level 3), a reconciliation of the beginning and ending balances, separately presenting changes attributable to the following: (1) total gains or losses for the period (realized and unrealized), segregating those gains or losses included in earnings (or changes in net assets), and gains or losses recognized in other comprehensive income (loss) and a description of where those gains or losses included in earnings (or changes in net assets) are reported in the statement of income (or activities); (2) purchases, sales, issues, and settlements (each type disclosed separately); and (3) transfers in and transfers out of Level 3 (for example, transfers due to changes in the observability of significant inputs) by class of liability." } } }, "auth_ref": [ "r17", "r81" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "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": [] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table]", "documentation": "Schedule of information required and determined to be provided for purposes of reconciling beginning and ending balances of fair value measurements of liabilities using significant unobservable inputs (level 3). Separately presenting changes during the period, attributable to: (1) total gains or losses for the period (realized and unrealized) and location reported in the statement of income (or activities); (2) purchases, sales, issuances, and settlements (net); (3) transfers in and/or out of Level 3." } } }, "auth_ref": [ "r17", "r81" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Comprehensive Income [Abstract]", "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationCalculationRollForward", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "label": "Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation, Calculation [Roll Forward]", "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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in fair value", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability, Gain (Loss) Included in Earnings", "documentation": "Amount of gain (loss) recognized in income from liability measured at fair value on recurring basis using unobservable input (level 3)." } } }, "auth_ref": [ "r475" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfCommonStock", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Net proceeds from the issuance of Class A common stock", "label": "Proceeds from Issuance of Common Stock", "documentation": "The cash inflow from the additional capital contribution to the entity." } } }, "auth_ref": [ "r7" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "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": [ "r717" ] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r10" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "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": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r787" ] }, "us-gaap_ScheduleOfEarningsPerShareDilutedByCommonClassTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEarningsPerShareDilutedByCommonClassTable", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table]", "label": "Schedule of Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Table]", "documentation": "Complete disclosure pertaining to an entity's diluted earnings per share." } } }, "auth_ref": [ "r45", "r46", "r205", "r209", "r211" ] }, "us-gaap_FinanceLeasePrincipalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeasePrincipalPayments", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Payments on finance leases", "label": "Finance Lease, Principal Payments", "documentation": "Amount of cash outflow for principal payment on finance lease." } } }, "auth_ref": [ "r489", "r490" ] }, "whd_CCUnitsRedeemedForClassCommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CCUnitsRedeemedForClassCommonStockMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cactus Companies LLC Agreement", "label": "CC Units Redeemed For Class Common Stock [Member]", "documentation": "CC Units Redeemed For Class A Common Stock (CW Units Prior To CC Reorganization)" } } }, "auth_ref": [] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r777" ] }, "whd_EffectiveIncomeTaxRateUsedForNoncontrollingInterestIncome": { "xbrltype": "percentItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "EffectiveIncomeTaxRateUsedForNoncontrollingInterestIncome", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Corporate effective income tax rate, if-converted method", "label": "Effective Income Tax Rate Used For Noncontrolling Interest Income", "documentation": "The effective income tax rate used in the calculation of income attributable to noncontrolling interest included in if-converted method of EPS calculation." } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Other", "documentation": "Amount of other assets expected to be realized or consumed before one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "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": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r779" ] }, "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseRightOfUseAssets", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right Of Use Assets", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Right Of Use Assets" } } }, "auth_ref": [] }, "whd_TaxSavingsPayableToTraHoldersAsPercent": { "xbrltype": "percentItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "TaxSavingsPayableToTraHoldersAsPercent", "presentation": [ "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tax savings payable to TRA Holders", "label": "Tax Savings Payable To TRA Holders As Percent", "documentation": "Per tax receivable agreement, the percentage of savings in federal, state and local income tax or franchise tax that the entity realizes or is deemed to realize in certain circumstances." } } }, "auth_ref": [] }, "whd_PressureControlSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "PressureControlSegmentMember", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Pressure Control", "label": "Pressure Control Segment [Member]", "documentation": "" } } }, "auth_ref": [] }, "us-gaap_OrderOrProductionBacklogMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrderOrProductionBacklogMember", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Backlog", "label": "Order or Production Backlog [Member]", "documentation": "Orders, production or production backlog arising from contracts such as purchase or sales orders acquired in a business combination." } } }, "auth_ref": [ "r71" ] }, "us-gaap_FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vehicles", "label": "Finance Lease, Right-of-Use Asset, before Accumulated Amortization", "documentation": "Amount, before accumulated amortization, of right-of-use asset from finance lease." } } }, "auth_ref": [ "r793" ] }, "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": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r777" ] }, "whd_CreditAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CreditAgreementMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Agreement", "label": "Credit Agreement [Member]", "documentation": "Credit Agreement dated May 31, 2011 [Member]" } } }, "auth_ref": [] }, "us-gaap_CommonStockDividendsPerShareDeclared": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockDividendsPerShareDeclared", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITYParenthetical", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash dividend declared (in dollars per share)", "label": "Common Stock, Dividends, Per Share, Declared", "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r122" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Assets", "label": "Assets [Abstract]" } } }, "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": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r787" ] }, "us-gaap_LiabilitiesFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesFairValueDisclosure", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities", "label": "Liabilities, Fair Value Disclosure", "documentation": "Fair value of financial and nonfinancial obligations." } } }, "auth_ref": [ "r80" ] }, "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": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r777" ] }, "srt_ConsolidatedEntitiesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidatedEntitiesDomain", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidated Entities [Domain]", "label": "Consolidated Entities [Domain]" } } }, "auth_ref": [ "r188", "r452", "r453", "r456", "r457", "r494", "r665", "r852", "r855", "r856" ] }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaInformationTextBlock", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Unaudited Proforma Results", "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate." } } }, "auth_ref": [ "r795", "r796" ] }, "srt_OwnershipAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "OwnershipAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Ownership [Axis]", "label": "Ownership [Axis]" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionCostOfAcquiredEntityTransactionCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionCostOfAcquiredEntityTransactionCosts", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Transaction costs", "label": "Business Acquisition, Transaction Costs", "documentation": "Amount of direct costs of the business combination including legal, accounting, and other costs incurred to consummate the business acquisition." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": "whd_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortizationBeforeConstructionInProgress", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Gross property and equipment", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, before Accumulated Depreciation and Amortization", "documentation": "Amount, before accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r793", "r806", "r846" ] }, "srt_ConsolidatedEntitiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidatedEntitiesAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consolidated Entities [Axis]", "label": "Consolidated Entities [Axis]" } } }, "auth_ref": [ "r188", "r452", "r453", "r456", "r457", "r494", "r665", "r852", "r855", "r856" ] }, "us-gaap_EarningsPerShareDilutedLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDilutedLineItems", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings Per Share, Diluted, by Common Class, Including Two Class Method [Line Items]", "label": "Earnings Per Share, Diluted, by Common Class, Including Two Class Method [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": [ "r205", "r209", "r211" ] }, "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": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r777" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": "whd_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortizationBeforeConstructionInProgress", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less: Accumulated depreciation", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, Accumulated Depreciation and Amortization", "documentation": "Amount of accumulated depreciation and amortization from plant, property, and equipment and right-of-use asset from finance lease." } } }, "auth_ref": [ "r794", "r797", "r847" ] }, "us-gaap_GoodwillAcquiredDuringPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAcquiredDuringPeriod", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "FlexSteel acquisition", "label": "Goodwill, Acquired During Period", "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": [ "r308", "r678" ] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Right-of-use assets obtained in exchange for new lease obligations", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r491", "r701" ] }, "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "totalLabel": "Total property and equipment, net", "label": "Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization", "documentation": "Amount, after accumulated depreciation and amortization, of property, plant, and equipment and finance lease right-of-use asset." } } }, "auth_ref": [ "r797", "r845" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r189", "r190", "r191", "r218", "r526", "r579", "r598", "r601", "r602", "r603", "r604", "r605", "r606", "r609", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r622", "r623", "r624", "r625", "r626", "r628", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r647", "r708" ] }, "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": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r777" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by (used in) financing activities", "label": "Net Cash Provided by (Used in) 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": [ "r179" ] }, "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instruments [Domain]", "label": "Financial Instruments [Domain]", "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms." } } }, "auth_ref": [ "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r364", "r381", "r464", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r549", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r828", "r829", "r830", "r831" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash flows from financing activities", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Axis]", "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r250", "r526", "r566", "r567", "r568", "r569", "r570", "r571", "r668", "r685", "r703", "r798", "r850", "r851", "r858", "r882" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in investing activities", "label": "Net Cash Provided by (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": [ "r179" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r326", "r327", "r328", "r329", "r399", "r406", "r430", "r431", "r432", "r501", "r525", "r572", "r599", "r600", "r652", "r653", "r654", "r655", "r656", "r666", "r667", "r676", "r684", "r697", "r704", "r707", "r848", "r857", "r875", "r876", "r877", "r878", "r879" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash flows from investing activities", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "srt_OwnershipDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "OwnershipDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Ownership [Domain]", "label": "Ownership [Domain]" } } }, "auth_ref": [] }, "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": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r777" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by operating activities", "label": "Net Cash Provided by (Used in) 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": [ "r107", "r108", "r109" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Cash flows from operating activities", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Domain]", "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r250", "r526", "r566", "r567", "r568", "r569", "r570", "r571", "r668", "r685", "r703", "r798", "r850", "r851", "r858", "r882" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r326", "r327", "r328", "r329", "r406", "r525", "r572", "r599", "r600", "r652", "r653", "r654", "r655", "r656", "r666", "r667", "r676", "r684", "r697", "r704", "r857", "r874", "r875", "r876", "r877", "r878", "r879" ] }, "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": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r778" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Range [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r326", "r327", "r328", "r329", "r399", "r406", "r430", "r431", "r432", "r501", "r525", "r572", "r599", "r600", "r652", "r653", "r654", "r655", "r656", "r666", "r667", "r676", "r684", "r697", "r704", "r707", "r848", "r857", "r875", "r876", "r877", "r878", "r879" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "verboseLabel": "Reconciliation of net income to net cash provided by operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "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": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r781" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]" } } }, "auth_ref": [ "r326", "r327", "r328", "r329", "r406", "r525", "r572", "r599", "r600", "r652", "r653", "r654", "r655", "r656", "r666", "r667", "r676", "r684", "r697", "r704", "r857", "r874", "r875", "r876", "r877", "r878", "r879" ] }, "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": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r777" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Non-cash investing and financing activities:", "label": "Noncash Investing and Financing Items [Abstract]" } } }, "auth_ref": [] }, "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": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r778" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Axis]", "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r65", "r66", "r447", "r695", "r696" ] }, "us-gaap_PaymentsOfDividends": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDividends", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Dividends paid", "label": "Payments of Dividends", "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests." } } }, "auth_ref": [ "r36" ] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition, Acquiree [Domain]", "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": [ "r447", "r695", "r696" ] }, "us-gaap_PaymentsOfDividendsCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDividendsCommonStock", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Dividends paid to Class A common stock shareholders", "label": "Payments of Ordinary Dividends, Common Stock", "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity." } } }, "auth_ref": [ "r36" ] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Title of Individual [Axis]", "label": "Title of Individual [Axis]" } } }, "auth_ref": [ "r827", "r870" ] }, "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": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r780" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r114" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r114" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r114" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Net cash paid for income taxes", "label": "Income Taxes Paid, Net", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes." } } }, "auth_ref": [ "r39" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Line Items]", "label": "Business Acquisition [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": [ "r447" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Domain]", "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": [ "r222", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r248", "r253", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r322", "r323", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r678", "r798", "r882" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r114" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LetterOfCreditMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Letters of credit", "label": "Letter of Credit [Member]", "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)." } } }, "auth_ref": [] }, "whd_CommonUnitsRedeemed": { "xbrltype": "sharesItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CommonUnitsRedeemed", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "CW Unit redemptions (in shares)", "label": "Common Units Redeemed", "documentation": "Number of CW units redeemed during period." } } }, "auth_ref": [] }, "us-gaap_InventoryWriteDown": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWriteDown", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Inventory obsolescence", "label": "Inventory Write-down", "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": [ "r304" ] }, "whd_LineOfCreditFacilityAccordianFeature": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "LineOfCreditFacilityAccordianFeature", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additional commitments", "label": "Line of Credit Facility, Accordian Feature", "documentation": "Line of Credit Facility, Accordian Feature" } } }, "auth_ref": [] }, "whd_OrganizationAndNatureOfOperationsTable": { "xbrltype": "stringItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "OrganizationAndNatureOfOperationsTable", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Organization and Nature of Operations [Table]", "label": "Organization and Nature of Operations [Table]", "documentation": "A table or schedule providing information pertaining to organization and nature of operations." } } }, "auth_ref": [] }, "whd_CashPromissoryNoteAndAssumedLiabilitiesPaymentsToAcquireBusiness": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CashPromissoryNoteAndAssumedLiabilitiesPaymentsToAcquireBusiness", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Borrowings total", "label": "Cash Promissory Note And Assumed Liabilities Payments To Acquire Business", "documentation": "Cash, promissory note and assumed liabilities payments to acquire business." } } }, "auth_ref": [] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of exchange rate changes on cash and cash equivalents", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "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": [ "r478" ] }, "whd_DebtInstrumentCovenantLeverageRatioMaximum": { "xbrltype": "pureItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "DebtInstrumentCovenantLeverageRatioMaximum", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leverage ratio", "label": "Debt Instrument, Covenant, Leverage Ratio, Maximum", "documentation": "Debt Instrument, Covenant, Leverage Ratio, Maximum allowed" } } }, "auth_ref": [] }, "whd_TaxSavingsBenefitRetainedAsPercent": { "xbrltype": "percentItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "TaxSavingsBenefitRetainedAsPercent", "presentation": [ "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tax savings benefit retained by Cactus Inc", "label": "Tax Savings Benefit Retained As Percent", "documentation": "Per tax receivable agreement, the amount of the tax savings benefit to be retained by the entity." } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net increase (decrease) in cash and cash equivalents", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "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": [ "r4", "r107" ] }, "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets acquired", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill" } } }, "auth_ref": [] }, "whd_LineOfCreditFacilityAccordionFeatureMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "LineOfCreditFacilityAccordionFeatureMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum borrowing capacity", "label": "Line of Credit Facility, Accordion Feature, Maximum Borrowing Capacity", "documentation": "Line of Credit Facility, Accordion Feature, Maximum Borrowing Capacity" } } }, "auth_ref": [] }, "whd_CommonStockOwnedPerExistingUnit": { "xbrltype": "sharesItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CommonStockOwnedPerExistingUnit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares owned per units held (in shares)", "label": "Common Stock, Owned, Per Existing Unit", "documentation": "Common Stock, Owned, Per Existing Unit" } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash and cash equivalents, beginning of period", "periodEndLabel": "Cash and cash equivalents, end of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "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": [ "r38", "r107", "r182" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amortization period", "label": "Finite-Lived Intangible Asset, Useful Life", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Acquisition of a business, net of cash and cash equivalents acquired", "label": "Payments to Acquire 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": [ "r33" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income", "label": "Comprehensive Income (Loss), Net of Tax, Including Portion Attributable to Noncontrolling Interest", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r79", "r125", "r166", "r168", "r172", "r530", "r550" ] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "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": [ "r25", "r152", "r185", "r287", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r453", "r456", "r457", "r477", "r702", "r853", "r872", "r873" ] }, "whd_NumberOfBusinessSegments": { "xbrltype": "integerItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "NumberOfBusinessSegments", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of business segments", "label": "Number Of Business Segments", "documentation": "Number Of Business Segments" } } }, "auth_ref": [] }, "whd_AmendedABLCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "AmendedABLCreditFacilityMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Amended ABL Credit Facility", "label": "Amended ABL Credit Facility [Member]", "documentation": "Amended ABL Credit Facility" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxAttributableToNoncontrollingInterest", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Less: comprehensive income attributable to non-controlling interest", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Noncontrolling Interest", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income (loss) and other comprehensive income (loss), attributable to noncontrolling interests. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r9", "r76", "r79", "r166", "r168", "r173", "r531", "r551" ] }, "whd_BusinessAcquisitionAdditionalTransactionCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "BusinessAcquisitionAdditionalTransactionCosts", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Additional costs related to reporting and accounting of the transaction", "label": "Business Acquisition, Additional Transaction Costs", "documentation": "Business Acquisition, Additional Transaction Costs" } } }, "auth_ref": [] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for accounts receivable", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r163", "r256", "r290" ] }, "whd_RemeasurementExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "RemeasurementExpenseMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remeasurement Expense", "label": "Remeasurement Expense [Member]", "documentation": "Remeasurement Expense" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current liabilities", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "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": [ "r23", "r185", "r287", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r453", "r456", "r457", "r477", "r607", "r674", "r715", "r853", "r872", "r873" ] }, "whd_ShareRepurchaseProgramMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "ShareRepurchaseProgramMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share Repurchase Program", "label": "Share Repurchase Program [Member]", "documentation": "Share Repurchase Program" } } }, "auth_ref": [] }, "whd_DebtInstrumentFixedChargeCoverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "DebtInstrumentFixedChargeCoverageRatio", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fixed charge coverage ratio", "label": "Debt Instrument, Fixed Charge Coverage Ratio", "documentation": "The fixed charge coverage ratio to be maintained under the debt instrument agreement based on the ratio of EBITDA minus Unfinanced Capital Expenditures to Fixed Charges." } } }, "auth_ref": [] }, "whd_ReelsAndSkidsMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "ReelsAndSkidsMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reels and skids", "label": "Reels And Skids [Member]", "documentation": "Reels And Skids" } } }, "auth_ref": [] }, "us-gaap_NoncontrollingInterestMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncontrollingInterestMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Non-controlling Interest", "label": "Noncontrolling Interest [Member]", "documentation": "This element represents that portion of equity (net assets) in a subsidiary not attributable, directly or indirectly, to the parent. A noncontrolling interest is sometimes called a minority interest." } } }, "auth_ref": [ "r74", "r384", "r820", "r821", "r822", "r885" ] }, "whd_TaxReceivableAgreementGainLossOnRevaluationOfLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "TaxReceivableAgreementGainLossOnRevaluationOfLiability", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Gain from revaluation of liability related to tax receivable agreement", "label": "Tax Receivable Agreement, Gain (Loss) on Revaluation of Liability", "documentation": "Tax Receivable Agreement, Gain (Loss) on Revaluation of Liability" } } }, "auth_ref": [] }, "whd_CactusWellheadLlcAndItsSubsidiariesMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CactusWellheadLlcAndItsSubsidiariesMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cactus LLC", "label": "Cactus Wellhead Llc And Its Subsidiaries [Member]", "documentation": "Represents information pertaining to Cactus Wellhead, LLC." } } }, "auth_ref": [] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unbilled revenue", "label": "Unbilled Receivables, Current", "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "whd_KeyEmployeeMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "KeyEmployeeMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Key Employee", "label": "Key Employee [Member]", "documentation": "Key Employee" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument, Name [Domain]", "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", "r188", "r340", "r341", "r342", "r343", "r344", "r346", "r351", "r352", "r353", "r354", "r356", "r357", "r358", "r359", "r360", "r361", "r486", "r679", "r680", "r681", "r682", "r683", "r818" ] }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity", "periodStartLabel": "Balance at the beginning of the period", "periodEndLabel": "Balance at the end of the period", "label": "Equity, Including Portion Attributable to Noncontrolling Interest", "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity." } } }, "auth_ref": [ "r74", "r75", "r77", "r147", "r148", "r170", "r189", "r190", "r191", "r193", "r199", "r288", "r289", "r384", "r435", "r436", "r437", "r442", "r443", "r458", "r459", "r460", "r461", "r462", "r463", "r466", "r479", "r480", "r484", "r492", "r574", "r575", "r585", "r611", "r627", "r648", "r649", "r662", "r714", "r819", "r832", "r867", "r885" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r95", "r133", "r543", "r702", "r819", "r832", "r867" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Counterparty Name [Domain]", "label": "Counterparty Name [Domain]" } } }, "auth_ref": [ "r186", "r187", "r343", "r371", "r493", "r671", "r672" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisition" ], "lang": { "en-us": { "role": { "terseLabel": "FlexSteel Acquisition", "label": "Business Combination Disclosure [Text Block]", "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": [ "r123", "r448" ] }, "whd_RentalRevenueMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "RentalRevenueMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Rental revenue", "label": "Rental Revenue [Member]", "documentation": "Represents the rental revenue." } } }, "auth_ref": [] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities and Equity", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "whd_CactusCompaniesMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CactusCompaniesMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cactus Companies", "label": "Cactus Companies [Member]", "documentation": "Cactus Companies" } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfUnits": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesConversionOfUnits", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of CW Unit redemptions (in shares)", "label": "Stock Issued During Period, Shares, Conversion of Units", "documentation": "The number of shares issued during the period upon the conversion of units. An example of a convertible unit is an umbrella partnership real estate investment trust unit (UPREIT unit)." } } }, "auth_ref": [ "r15", "r61", "r89", "r90", "r122" ] }, "us-gaap_InventoryFinishedGoods": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoods", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/InventoriesDetails": { "parentTag": "us-gaap_InventoryGross", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finished goods", "label": "Inventory, Finished Goods, Gross", "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer." } } }, "auth_ref": [ "r807" ] }, "us-gaap_StockIssuedDuringPeriodValueConversionOfUnits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueConversionOfUnits", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of CC Unit redemptions", "label": "Stock Issued During Period, Value, Conversion of Units", "documentation": "Value of stock issued during the period upon the conversion of units. An example of a convertible unit is an umbrella partnership real estate investment trust unit (UPREIT unit)." } } }, "auth_ref": [ "r15", "r28", "r122" ] }, "us-gaap_RepaymentsOfShortTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfShortTermDebt", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Repayment of debt", "label": "Repayments of Short-Term Debt", "documentation": "The cash outflow for a borrowing having initial term of repayment within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r37" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r698" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Period for recognition", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "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": [ "r434" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r12" ] }, "us-gaap_PaymentsOfFinancingCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfFinancingCosts", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Payments of deferred financing costs", "label": "Payments of Financing Costs", "documentation": "The cash outflow for loan and debt issuance costs." } } }, "auth_ref": [ "r35" ] }, "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": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r785" ] }, "us-gaap_GainLossOnDispositionOfAssets1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnDispositionOfAssets1", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Gain on disposal of assets", "label": "Gain (Loss) on Disposition 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": [ "r816" ] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Repurchases of shares", "label": "Payments for Repurchase of Common Stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r36" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "label": "Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r527" ] }, "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": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r785" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r317", "r318", "r319", "r320", "r527", "r528" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Common stock, par value (in dollars per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r90" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails", "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "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": [ "r57", "r59" ] }, "srt_SubsidiariesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SubsidiariesMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Subsidiaries", "label": "Subsidiaries [Member]" } } }, "auth_ref": [ "r860", "r868", "r869", "r871" ] }, "us-gaap_InventoryNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNetAbstract", "presentation": [ "http://cactuswellhead.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of inventories", "label": "Inventory, Net [Abstract]" } } }, "auth_ref": [] }, "us-gaap_InventoryRawMaterials": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterials", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/InventoriesDetails": { "parentTag": "us-gaap_InventoryGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Raw materials", "label": "Inventory, Raw Materials, Gross", "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r809" ] }, "us-gaap_LimitedLiabilityCompanyLLCOrLimitedPartnershipLPMembersOrLimitedPartnersOwnershipInterest": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LimitedLiabilityCompanyLLCOrLimitedPartnershipLPMembersOrLimitedPartnersOwnershipInterest", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Ownership interest", "label": "Limited Liability Company or Limited Partnership, Members or Limited Partners, Ownership Interest", "documentation": "Percentage investment held by members or limited partners of limited liability company (LLC) or limited partnership (LP)." } } }, "auth_ref": [ "r47" ] }, "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": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r785" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Costs associated with stock issuance", "label": "Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs", "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration." } } }, "auth_ref": [ "r15", "r122" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r716" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Furniture and fixtures", "label": "Furniture and Fixtures [Member]", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "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": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r766" ] }, "us-gaap_MeasurementInputDiscountRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputDiscountRateMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue discount rate", "label": "Measurement Input, Discount Rate [Member]", "documentation": "Measurement input using interest rate to determine present value of future cash flows." } } }, "auth_ref": [ "r865" ] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Construction in progress", "label": "Construction in Progress [Member]", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnet" ], "lang": { "en-us": { "role": { "terseLabel": "Property and Equipment, net", "label": "Property, Plant and Equipment Disclosure [Text Block]", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r115", "r139", "r142", "r143" ] }, "us-gaap_MeasurementInputExpectedDividendRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputExpectedDividendRateMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Dividend yield", "label": "Measurement Input, Expected Dividend Rate [Member]", "documentation": "Measurement input using expected dividend rate to be paid to holder of share per year." } } }, "auth_ref": [ "r865" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r718" ] }, "us-gaap_VehiclesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VehiclesMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vehicles", "label": "Vehicles [Member]", "documentation": "Equipment used primarily for road transportation." } } }, "auth_ref": [] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/RevenueTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenues Disaggregated by Category", "label": "Disaggregation of Revenue [Table Text Block]", "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": [ "r858" ] }, "us-gaap_MeasurementInputPriceVolatilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputPriceVolatilityMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected volatility", "label": "Measurement Input, Price Volatility [Member]", "documentation": "Measurement input using rate at which price of security will increase (decrease) for given set of returns." } } }, "auth_ref": [ "r865" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Type [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r116" ] }, "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": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r766" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Denominator:", "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_MeasurementInputRiskFreeInterestRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputRiskFreeInterestRateMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Risk-free interest rate", "label": "Measurement Input, Risk Free Interest Rate [Member]", "documentation": "Measurement input using interest rate on instrument with zero risk of financial loss." } } }, "auth_ref": [ "r865" ] }, "us-gaap_MeasurementInputTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputTypeDomain", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Input Type [Domain]", "label": "Measurement Input Type [Domain]", "documentation": "Measurement input used to determine value of asset and liability." } } }, "auth_ref": [] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "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": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "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": [ "r189", "r190", "r191", "r218", "r526", "r579", "r598", "r601", "r602", "r603", "r604", "r605", "r606", "r609", "r612", "r613", "r614", "r615", "r616", "r617", "r618", "r619", "r620", "r622", "r623", "r624", "r625", "r626", "r628", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r647", "r708" ] }, "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": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r753" ] }, "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": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r766" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "Disaggregation of Revenue [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": [ "r396", "r685", "r686", "r687", "r688", "r689", "r690", "r691" ] }, "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": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r722", "r733", "r743", "r768" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "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": [ "r396", "r685", "r686", "r687", "r688", "r689", "r690", "r691" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityMeasurementInput": { "xbrltype": "decimalItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityMeasurementInput", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement inputs", "label": "Business Combination, Contingent Consideration, Liability, Measurement Input", "documentation": "Value of input used to measure contingent consideration liability from business combination." } } }, "auth_ref": [ "r474" ] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Operating income", "terseLabel": "Total operating income", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r225", "r239", "r245", "r248", "r675" ] }, "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": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r766" ] }, "us-gaap_BuildingAndBuildingImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BuildingAndBuildingImprovementsMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Buildings and improvements", "label": "Building and Building Improvements [Member]", "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing." } } }, "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": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r731", "r739", "r749", "r766", "r774", "r778", "r786" ] }, "us-gaap_CommonClassAMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonClassAMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/Cover", "http://cactuswellhead.com/role/EarningsperShareDetails", "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class A Common Stock", "label": "Common Class A [Member]", "documentation": "Classification of common stock representing ownership interest in a corporation." } } }, "auth_ref": [ "r885" ] }, "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": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r731", "r739", "r749", "r766", "r774", "r778", "r786" ] }, "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]" } } }, "auth_ref": [ "r721", "r732", "r742", "r767" ] }, "us-gaap_RevenuesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenuesAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues", "label": "Revenues [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable, net of allowance of $3,187 and $1,060, respectively", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "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": [ "r254", "r255" ] }, "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": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r721", "r732", "r742", "r767" ] }, "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "negatedLabel": "Member distributions", "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders", "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders." } } }, "auth_ref": [ "r122" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Retained earnings", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r92", "r122", "r541", "r576", "r578", "r584", "r610", "r702" ] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "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_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "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": [ "r717" ] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "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": [ "r717" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_ProfitLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Income before income taxes", "terseLabel": "Income before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "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", "r100", "r134", "r225", "r239", "r245", "r248", "r534", "r545", "r675" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r717" ] }, "us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyContractsLiabilityFairValueDisclosure", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency forwards", "label": "Foreign Currency Contracts, Liability, Fair Value Disclosure", "documentation": "Fair value portion of liability contracts related to the exchange of different currencies, including, but not limited to, foreign currency options, forward (delivery or nondelivery) contracts, and swaps entered into." } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other current liabilities", "label": "Accrued Liabilities, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r24" ] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r717" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "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": [ "r811" ] }, "us-gaap_AmortizationOfFinancingCostsAndDiscounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AmortizationOfFinancingCostsAndDiscounts", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred financing cost amortization", "label": "Amortization of Debt Issuance Costs and Discounts", "documentation": "Amount of amortization expense attributable to debt discount (premium) and debt issuance costs." } } }, "auth_ref": [ "r361", "r485", "r682", "r683", "r816" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, shares issued (in shares)", "label": "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": [ "r89", "r369" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive income attributable to Cactus Inc.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "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": [ "r32", "r166", "r168", "r174", "r532", "r552" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, shares authorized (in shares)", "label": "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": [ "r89", "r609" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Deferred tax liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "verboseLabel": "Preferred stock, shares outstanding (in shares)", "label": "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": [ "r89", "r609", "r627", "r885", "r886" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other income, net", "verboseLabel": "Other income, net", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r105" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity attributable to Cactus Inc.", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r90", "r93", "r94", "r111", "r611", "r627", "r648", "r649", "r702", "r715", "r819", "r832", "r867", "r885" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Accounts Payable, Current", "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": [ "r21", "r702" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring", "label": "Fair Value, Recurring [Member]", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r469", "r476" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsNarrativeDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r353", "r400", "r401", "r402", "r403", "r404", "r405", "r498", "r499", "r500", "r680", "r681", "r692", "r693", "r694" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Frequency [Domain]", "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "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": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r784" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "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": [ "r38", "r153", "r669" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remainder of 2023", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r114" ] }, "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": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r785" ] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebt", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt outstanding", "label": "Long-Term Debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r19", "r131", "r352", "r367", "r680", "r681", "r880" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValueAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents, at Carrying Value [Abstract]", "label": "Cash and Cash Equivalents, at Carrying Value [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [] }, "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": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r782" ] }, "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": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r783" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r784" ] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accumulated Amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r156", "r319" ] }, "us-gaap_LineOfCreditFacilityCommitmentFeePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityCommitmentFeePercentage", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Commitment fee", "label": "Line of Credit Facility, Commitment Fee Percentage", "documentation": "The fee, expressed as a percentage of the line of credit facility, for the line of credit facility regardless of whether the facility has been used." } } }, "auth_ref": [] }, "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": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r784" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "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": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentQuarterlyReport", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r719" ] }, "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": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r786" ] }, "us-gaap_OtherCommitment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCommitment", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Total TRA liability", "label": "Other Commitment", "documentation": "Minimum amount of other commitment not otherwise specified in the taxonomy. Excludes commitments explicitly modeled in the taxonomy, including but not limited to, long-term and short-term purchase commitments, recorded and unrecorded purchase obligations, supply commitments, registration payment arrangements, leases, debt, product warranties, guarantees, environmental remediation obligations, and pensions." } } }, "auth_ref": [] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r752" ] }, "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": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "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_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 15.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts receivable", "label": "Increase (Decrease) in Accounts Receivable", "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": [ "r10" ] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "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": [ "r791" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Significant Assumptions to Determine Fair Value", "label": "Fair Value Measurement Inputs and Valuation Techniques [Table Text Block]", "documentation": "Tabular disclosure of input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis." } } }, "auth_ref": [ "r16" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesLineItems", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurement Inputs and Valuation Techniques [Line Items]", "label": "Fair Value Measurement Inputs and Valuation Techniques [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTable", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurement Inputs and Valuation Techniques [Table]", "label": "Fair Value Measurement Inputs and Valuation Techniques [Table]", "documentation": "Disclosure of information about input and valuation technique used to measure fair value and change in valuation approach and technique for each separate class of asset and liability measured on recurring and nonrecurring basis." } } }, "auth_ref": [ "r16" ] }, "us-gaap_BaseRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BaseRateMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Base Rate", "label": "Base Rate [Member]", "documentation": "Minimum rate investor will accept." } } }, "auth_ref": [] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GoodwillRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillRollForward", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Roll Forward]", "label": "Goodwill [Roll Forward]", "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_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Domain]", "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": [] }, "us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity", "label": "Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table]", "documentation": "Different names of stock transactions and the different attributes of each transaction." } } }, "auth_ref": [] }, "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": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r754" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "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": [ "r151", "r164", "r185", "r287", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r452", "r456", "r477", "r702", "r853", "r854", "r872" ] }, "us-gaap_GoodwillPeriodIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPeriodIncreaseDecrease", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Goodwill decrease", "label": "Goodwill, Period Increase (Decrease)", "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": [ "r834" ] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Total costs and expenses", "label": "Operating Expenses", "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": [] }, "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": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r754" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation and amortization", "label": "Depreciation, Depletion 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": [ "r11", "r230" ] }, "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": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r757" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "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": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r756" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedInventory", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Inventory", "documentation": "The amount of inventory recognized as of the acquisition date." } } }, "auth_ref": [ "r67", "r69" ] }, "us-gaap_ReceivablesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Receivables [Abstract]", "label": "Receivables [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date." } } }, "auth_ref": [ "r67", "r69" ] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesOutstanding", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance at the beginning of the period (in shares)", "periodEndLabel": "Balance at the end of the period (in shares)", "label": "Shares, Outstanding", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Identifiable intangible assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r67", "r69" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tradename", "label": "Trade Names [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r70" ] }, "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": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r755" ] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurements" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurements", "label": "Fair Value Disclosures [Text Block]", "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": [ "r469" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net assets acquired", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net", "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r67", "r69" ] }, "us-gaap_LineOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit", "label": "Line of Credit [Member]", "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars." } } }, "auth_ref": [] }, "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": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r755" ] }, "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": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r756" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r69" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Receivables", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Preferred stock, $0.01 par value, 10,000 shares authorized, none issued and outstanding", "label": "Preferred Stock, Value, Issued", "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": [ "r89", "r538", "r702" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTotalLabel": "Total liabilities assumed", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities", "documentation": "Amount of liabilities assumed at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earn-out liability", "label": "Business Combination, Contingent Consideration, Liability, Current", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination, expected to be settled within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r3", "r73" ] }, "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": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r757" ] }, "whd_CommonStockRedemptionRatioPerExistingUnit": { "xbrltype": "sharesItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CommonStockRedemptionRatioPerExistingUnit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Redemption ratio per unit (in shares)", "label": "Common Stock, Redemption Ratio, Per Existing Unit", "documentation": "Common Stock, Redemption Ratio, Per Existing Unit" } } }, "auth_ref": [] }, "us-gaap_TechnologyBasedIntangibleAssetsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TechnologyBasedIntangibleAssetsMember", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Developed technology", "label": "Technology-Based Intangible Assets [Member]", "documentation": "Technology-based intangible assets, including, but not limited to, patented technology, unpatented technology, and developed technology rights." } } }, "auth_ref": [ "r18" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "whd_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other noncurrent assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per share and weighted average shares outstanding", "label": "Earnings Per Share [Abstract]" } } }, "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": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r757" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accounts payable", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "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": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r757" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilities", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Operating lease liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities", "documentation": "Amount of liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Relationship to Entity [Domain]", "label": "Title of Individual [Domain]" } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer relationships", "label": "Customer Relationships [Member]", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r72" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r754" ] }, "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": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r758" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Change in fair value of earn-out liability", "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement." } } }, "auth_ref": [ "r450", "r815" ] }, "us-gaap_AccountsNotesAndLoansReceivableNetCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsNotesAndLoansReceivableNetCurrentAbstract", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts Receivable", "label": "Accounts and Financing Receivable, after Allowance for Credit Loss, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Provision for expected credit losses", "verboseLabel": "Expense", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r176", "r294" ] }, "us-gaap_MeasurementInputTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MeasurementInputTypeAxis", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Input Type [Axis]", "label": "Measurement Input Type [Axis]", "documentation": "Information by type of measurement input used to determine value of asset and liability." } } }, "auth_ref": [ "r472" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r91", "r702", "r884" ] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair value of consideration transferred", "label": "Business Combination, Consideration Transferred", "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", "r13" ] }, "us-gaap_NetIncomeLossAttributableToRedeemableNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAttributableToRedeemableNoncontrollingInterest", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income attributable to non-controlling interest", "label": "Net Income (Loss) Attributable to Redeemable Noncontrolling Interest", "documentation": "Amount of Net Income (Loss) attributable to redeemable noncontrolling interest." } } }, "auth_ref": [ "r102" ] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/SegmentReporting" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting", "label": "Segment Reporting Disclosure [Text Block]", "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": [ "r221", "r222", "r223", "r224", "r225", "r237", "r242", "r246", "r247", "r248", "r249", "r250", "r251", "r253" ] }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaRevenue", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues", "label": "Business Acquisition, Pro Forma Revenue", "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period." } } }, "auth_ref": [ "r445", "r446" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accrued expenses and other current liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Other", "documentation": "Amount of other liabilities due within one year or within the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [ "r69" ] }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net Income attributable to Cactus, Inc.", "label": "Business Acquisition, Pro Forma Net Income (Loss)", "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r445", "r446" ] }, "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": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r720", "r790" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summarized Financial Information by Segment", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "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": [ "r51", "r52", "r53", "r55" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segment Reporting Information [Line Items]", "label": "Segment Reporting Information [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]", "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": [ "r51", "r52", "r53", "r55" ] }, "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": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r785" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Use of Estimates", "label": "Use of Estimates, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r48", "r49", "r50", "r137", "r138", "r140", "r141" ] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateDomain", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Domain]", "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Axis]", "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "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": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r729", "r740", "r750", "r775" ] }, "whd_TaxReceivableAgreementLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "TaxReceivableAgreementLiabilityCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Current portion of liability related to tax receivable agreement", "label": "Tax Receivable Agreement Liability Current", "documentation": "Amount of liability under tax receivable agreement classified as current." } } }, "auth_ref": [] }, "us-gaap_ShareRepurchaseProgramAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareRepurchaseProgramAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share Repurchase Program [Axis]", "label": "Share Repurchase Program [Axis]", "documentation": "Information by share repurchase program." } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Selling, general and administrative expenses", "verboseLabel": "Amortization expense", "label": "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": [ "r104" ] }, "whd_IncreaseDecreaseInTaxReceivableAgreementLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "IncreaseDecreaseInTaxReceivableAgreementLiabilities", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Payments pursuant to tax receivable agreement", "label": "Increase (Decrease) In Tax Receivable Agreement Liabilities", "documentation": "Increase (Decrease) In Tax Receivable Agreement Liabilities" } } }, "auth_ref": [] }, "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": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r723", "r734", "r744", "r769" ] }, "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": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r727", "r738", "r748", "r773" ] }, "us-gaap_LoansNotesTradeAndOtherReceivablesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansNotesTradeAndOtherReceivablesDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLosses" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts Receivable and Allowance for Credit Losses", "label": "Loans, Notes, Trade and Other Receivables Disclosure [Text Block]", "documentation": "The entire disclosure for claims held for amounts due a entity, excluding financing receivables. Examples include, but are not limited to, trade accounts receivables, notes receivables, loans receivables. Includes disclosure for allowance for credit losses." } } }, "auth_ref": [ "r826" ] }, "whd_MeasurementInputExpectedRevenueVolatilityMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "MeasurementInputExpectedRevenueVolatilityMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected revenue volatility", "label": "Measurement Input, Expected Revenue Volatility [Member]", "documentation": "Measurement Input, Expected Revenue Volatility" } } }, "auth_ref": [] }, "us-gaap_ShareRepurchaseProgramDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareRepurchaseProgramDomain", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share Repurchase Program [Domain]", "label": "Share Repurchase Program [Domain]", "documentation": "Name of the share repurchase program." } } }, "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": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r724", "r735", "r745", "r770" ] }, "whd_NetIncomeLossIncludingPortionAttributableToRedeemableNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "NetIncomeLossIncludingPortionAttributableToRedeemableNoncontrollingInterest", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net income attributable to Cactus Inc. - diluted", "label": "Net Income Loss Including Portion Attributable To Redeemable Noncontrolling Interest", "documentation": "Amount of net income (loss) for the period including the portion attributable to the redeemable non-controlling interest." } } }, "auth_ref": [] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "whd_ScheduleOfIntangibleAssetsExcludingGoodwillTableTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "ScheduleOfIntangibleAssetsExcludingGoodwillTableTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Total Intangible Assets", "label": "Schedule Of Intangible Assets Excluding Goodwill Table [Table Text Block]", "documentation": "The tabular disclosure of intangible assets excluding goodwill." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Rollforward of Allowance for Credit Losses", "label": "Financing Receivable, Current, Allowance for Credit Loss [Table Text Block]", "documentation": "Tabular disclosure of allowance for credit loss of financing receivable, classified as current." } } }, "auth_ref": [ "r54", "r833" ] }, "whd_RentalEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "RentalEquipmentMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Rental equipment", "label": "Rental Equipment [Member]", "documentation": "Rental Equipment" } } }, "auth_ref": [] }, "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": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r724", "r735", "r745", "r770" ] }, "us-gaap_ProductMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductMember", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product revenue", "label": "Product [Member]", "documentation": "Article or substance produced by nature, labor or machinery." } } }, "auth_ref": [ "r685" ] }, "whd_FlexSteelMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "FlexSteelMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPurchasePriceConsiderationDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofUnaditedProformaResultsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "FlexSteel", "label": "FlexSteel [Member]", "documentation": "" } } }, "auth_ref": [] }, "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": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r725", "r736", "r746", "r771" ] }, "whd_TaxReceivableAgreementLiabilityNonCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "TaxReceivableAgreementLiabilityNonCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Liability related to tax receivable agreement, net of current portion", "label": "Tax Receivable Agreement, Liability Non Current", "documentation": "Amount of liability under tax receivable agreement classified as non current." } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per Class A share - basic (in dollars per share)", "label": "Earnings Per Share, Basic", "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": [ "r175", "r194", "r195", "r196", "r197", "r198", "r203", "r205", "r211", "r212", "r213", "r217", "r467", "r468", "r533", "r553", "r673" ] }, "whd_ComputerAndSoftwareMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "ComputerAndSoftwareMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computers and software", "label": "Computer And Software [Member]", "documentation": "Represents the information pertaining to Computer and Software." } } }, "auth_ref": [] }, "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": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r726", "r737", "r747", "r772" ] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Authorized amount of stock repurchase", "label": "Stock Repurchase Program, Authorized Amount", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "whd_CactusLLCMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CactusLLCMember", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cactus LLC", "label": "Cactus LLC [Member]", "documentation": "Cactus LLC" } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock authorized repurchase amount", "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "documentation": "Amount remaining of a stock repurchase plan authorized." } } }, "auth_ref": [] }, "whd_SecuredOvernightFinancingRateMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "SecuredOvernightFinancingRateMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Secured Overnight Financing Rate", "label": "Secured Overnight Financing Rate [Member]", "documentation": "Secured Overnight Financing Rate" } } }, "auth_ref": [] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433" ] }, "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": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r728", "r739", "r749", "r774" ] }, "whd_IdentifiableIntangibleAssetsAcquiredMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "IdentifiableIntangibleAssetsAcquiredMember", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Identifiable Intangible Assets Acquired", "label": "Identifiable Intangible Assets Acquired [Member]", "documentation": "Identifiable Intangible Assets Acquired" } } }, "auth_ref": [] }, "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": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r728", "r739", "r749", "r766", "r774" ] }, "whd_RevenueAsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "RevenueAsPercentage", "presentation": [ "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue as a percentage", "label": "Revenue As A Percentage", "documentation": "Revenue as a percentage" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per Class A share - diluted (in dollars per share)", "label": "Earnings Per Share, Diluted", "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": [ "r175", "r194", "r195", "r196", "r197", "r198", "r205", "r211", "r212", "r213", "r217", "r467", "r468", "r533", "r553", "r673" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillLineItems", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill [Line Items]", "label": "Goodwill [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": [ "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r678" ] }, "whd_PaymentsForCapitalExpenditures": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "PaymentsForCapitalExpenditures", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Capital expenditures and other", "label": "Payments For Capital expenditures", "documentation": "The cash outflow from payments of capital expenditure." } } }, "auth_ref": [] }, "whd_TaxReceivableAgreementPayment": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "TaxReceivableAgreementPayment", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/TaxReceivableAgreementTRADetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tax receivable agreement payment", "label": "Tax Receivable Agreement, Payment", "documentation": "Tax Receivable Agreement, Payment" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill [Table]", "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": [ "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r315", "r316", "r678" ] }, "whd_CommonStockSubjectToConversionRateAdjustments": { "xbrltype": "sharesItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CommonStockSubjectToConversionRateAdjustments", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares subject to conversion rate adjustments (in shares)", "label": "Common Stock, Subject To Conversion Rate Adjustments", "documentation": "Common Stock, Subject To Conversion Rate Adjustments" } } }, "auth_ref": [] }, "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": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r728", "r739", "r749", "r774" ] }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "lang": { "en-us": { "role": { "label": "Business Combination and Asset Acquisition [Abstract]" } } }, "auth_ref": [] }, "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": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r728", "r739", "r749", "r774" ] }, "whd_SpoolableTechnologiesMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "SpoolableTechnologiesMember", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Spoolable Technologies", "label": "Spoolable Technologies [Member]", "documentation": "" } } }, "auth_ref": [] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 }, "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 1.0 }, "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "verboseLabel": "Net income", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r150", "r165", "r167", "r178", "r185", "r192", "r200", "r201", "r225", "r239", "r245", "r248", "r287", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r451", "r454", "r455", "r468", "r477", "r534", "r546", "r586", "r629", "r645", "r646", "r675", "r699", "r700", "r714", "r814", "r853" ] }, "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": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r729", "r740", "r750", "r775" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableWriteOffs": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableWriteOffs", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Write off", "label": "Accounts Receivable, Allowance for Credit Loss, Writeoff", "documentation": "Amount of direct write-downs of accounts receivable charged against the allowance." } } }, "auth_ref": [ "r295" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://cactuswellhead.com/role/EarningsperShare" ], "lang": { "en-us": { "role": { "verboseLabel": "Earnings per Share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r202", "r214", "r215", "r216" ] }, "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": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r728", "r739", "r749", "r774" ] }, "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": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r728", "r739", "r749", "r774" ] }, "whd_TheCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "TheCreditFacilityMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "The Credit Facility", "label": "The Credit Facility [Member]", "documentation": "The Credit Facility" } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationArrangementWithIndividualAllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationArrangementWithIndividualAllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Selling, general and administrative expenses", "label": "Deferred Compensation Arrangement with Individual, Allocated Share-Based Compensation Expense", "documentation": "Amount of expense recognized from equity-based compensation arrangements (for example, shares of stock, unit, stock options or other equity instruments), awarded to key employees or individuals. Excludes amount related to plans that cover generally all employees (for example, but not limited to, qualified pension plans)." } } }, "auth_ref": [] }, "whd_PutOptionLiabilityMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "PutOptionLiabilityMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Put option liability", "label": "Put Option Liability [Member]", "documentation": "Put Option Liability" } } }, "auth_ref": [] }, "whd_TaxReceivableAgreementDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "TaxReceivableAgreementDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Tax Receivable Agreement", "label": "Tax Receivable Agreement", "documentation": "n/a" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesIssuedBasic", "calculation": { "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average Class A Shares Outstanding - basic (in shares)", "label": "Weighted Average Number of Shares Issued, Basic", "documentation": "This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic)." } } }, "auth_ref": [ "r43", "r44" ] }, "whd_AdjustmentsToAdditionalPaidInCapitalTaxReceivableAgreement": { "xbrltype": "monetaryItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "AdjustmentsToAdditionalPaidInCapitalTaxReceivableAgreement", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Tax impact of equity transactions", "label": "Adjustments to Additional Paid in Capital, Tax Receivable Agreement", "documentation": "Amount of increase in additional paid in capital (APIC) resulting from the tax receivable agreement." } } }, "auth_ref": [] }, "us-gaap_NetIncomeLossAttributableToNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAttributableToNoncontrollingInterest", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Less: net income attributable to non-controlling interest", "label": "Net Income (Loss) Attributable to Noncontrolling Interest", "documentation": "Amount of Net Income (Loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r78", "r126", "r165", "r167", "r200", "r201", "r547", "r814" ] }, "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": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r730", "r741", "r751", "r776" ] }, "whd_CommonStockVotingRightsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "CommonStockVotingRightsPercentage", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Shares outstanding, percentage of total voting power", "label": "Common Stock, Voting Rights, Percentage", "documentation": "Common Stock, Voting Rights, Percentage" } } }, "auth_ref": [] }, "whd_OrganizationAndNatureOfOperationsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "OrganizationAndNatureOfOperationsLineItems", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Organization and Nature of Operations", "label": "Organization and Nature of Operations [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": [] }, "whd_EarnOutLiabilityMember": { "xbrltype": "domainItemType", "nsuri": "http://cactuswellhead.com/20230930", "localname": "EarnOutLiabilityMember", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Earn-out liability", "label": "Earn Out Liability [Member]", "documentation": "Earn Out Liability" } } }, "auth_ref": [] }, "us-gaap_DividendsCommonStockCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsCommonStockCash", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Dividends declared", "label": "Dividends, Common Stock, Cash", "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash." } } }, "auth_ref": [ "r122" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-term Debt, Type [Axis]", "label": "Long-Term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r26" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLossAbstract", "presentation": [ "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Numerator:", "label": "Net Income (Loss) Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentLineItems", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Long-term Debt", "label": "Debt Instrument [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r188", "r340", "r341", "r342", "r343", "r344", "r346", "r351", "r352", "r353", "r354", "r356", "r357", "r358", "r359", "r360", "r361", "r364", "r486", "r679", "r680", "r681", "r682", "r683", "r818" ] }, "us-gaap_IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherAccountsPayableAndAccruedLiabilities", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other liabilities", "label": "Increase (Decrease) in Other Accounts Payable and Accrued Liabilities", "documentation": "The increase (decrease) during the reporting period in other obligations or expenses incurred but not yet paid." } } }, "auth_ref": [ "r10" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt Instrument [Axis]", "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r19", "r87", "r88", "r130", "r131", "r188", "r340", "r341", "r342", "r343", "r344", "r346", "r351", "r352", "r353", "r354", "r356", "r357", "r358", "r359", "r360", "r361", "r486", "r679", "r680", "r681", "r682", "r683", "r818" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTable", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Long-term Debt Instruments [Table]", "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", "r61", "r62", "r82", "r83", "r84", "r86", "r120", "r121", "r188", "r340", "r341", "r342", "r343", "r344", "r346", "r351", "r352", "r353", "r354", "r356", "r357", "r358", "r359", "r360", "r361", "r364", "r486", "r679", "r680", "r681", "r682", "r683", "r818" ] }, "us-gaap_LiabilitiesNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesNoncurrentAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Noncurrent liabilities", "label": "Liabilities, Noncurrent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Segments [Axis]", "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r149", "r222", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r233", "r234", "r235", "r236", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r248", "r253", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r313", "r314", "r321", "r322", "r323", "r555", "r556", "r557", "r558", "r559", "r560", "r561", "r562", "r563", "r564", "r565", "r678", "r798", "r882" ] }, "us-gaap_RepaymentsOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLongTermDebt", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Repayments of borrowings of long-term debt", "label": "Repayments 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": [ "r37", "r583" ] }, "us-gaap_AssetsNoncurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsNoncurrentAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Noncurrent assets", "label": "Assets, Noncurrent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DividendsCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsCash", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "negatedLabel": "Cash dividends declared", "label": "Dividends, Cash", "documentation": "Amount of paid and unpaid cash dividends declared for classes of stock, for example, but not limited to, common and preferred." } } }, "auth_ref": [ "r8", "r122" ] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Letters of credit outstanding", "label": "Letters of Credit Outstanding, Amount", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [] }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeExpenseNonoperatingNet", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Interest income (expense), net", "verboseLabel": "Interest income (expense), net", "label": "Interest Income (Expense), Nonoperating, Net", "documentation": "The net amount of nonoperating interest income (expense)." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid expenses and other assets", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r10" ] }, "us-gaap_OtherComprehensiveIncomeOtherNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeOtherNetOfTax", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Other comprehensive loss", "label": "Other Comprehensive Income, Other, Net of Tax", "documentation": "Amount of increase (decrease) in other comprehensive income, after tax, from changes classified as other." } } }, "auth_ref": [] }, "us-gaap_CostOfGoodsAndServicesSoldAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSoldAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Costs and expenses", "label": "Cost of Goods and Services Sold [Abstract]" } } }, "auth_ref": [] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Counterparty Name [Axis]", "label": "Counterparty Name [Axis]" } } }, "auth_ref": [ "r186", "r187", "r343", "r371", "r493", "r670", "r672" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationAndExerciseOfStockOptions", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Recognition and Exercise", "documentation": "Amount of increase (decrease) to additional paid-in capital (APIC) for recognition and exercise of award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Inventories", "label": "Increase (Decrease) in 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": [ "r10" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Cost of revenue", "label": "Cost of Goods and Services Sold", "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": [ "r103", "r526" ] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Share repurchases (in shares)", "label": "Stock Repurchased During Period, Shares", "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r15", "r89", "r90", "r122", "r583", "r647", "r660" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Share repurchases", "terseLabel": "Share repurchases", "label": "Stock Repurchased During Period, Value", "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r15", "r89", "r90", "r122", "r587", "r647", "r660", "r714" ] }, "us-gaap_IncreaseDecreaseInAccountsPayableTrade": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayableTrade", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable, Trade", "documentation": "Change in recurring obligations of a business that arise from the acquisition of merchandise, materials, supplies and services used in the production and sale of goods and services." } } }, "auth_ref": [ "r10" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivable", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Balance at Beginning of Period", "periodEndLabel": "Balance at End of Period", "label": "Accounts Receivable, Allowance for Credit Loss", "documentation": "Amount of allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r163", "r256", "r290", "r293", "r296", "r881" ] }, "us-gaap_SubsidiarySaleOfStockLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiarySaleOfStockLineItems", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity", "label": "Subsidiary, Sale of Stock [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": [] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AmendmentFlag", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_PaymentsOfStockIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfStockIssuanceCosts", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Underwriting discounts", "label": "Payments of Stock Issuance Costs", "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security." } } }, "auth_ref": [ "r35" ] }, "us-gaap_SubsidiarySaleOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiarySaleOfStockAxis", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sale of Stock [Axis]", "label": "Sale of Stock [Axis]", "documentation": "Information by type of sale of the entity's stock." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in operating assets and liabilities:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/RevenueNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue", "label": "Contract with Customer, Liability, Current", "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": [ "r385", "r386", "r397" ] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "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": [] }, "us-gaap_InventoryWorkInProcess": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcess", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/InventoriesDetails": { "parentTag": "us-gaap_InventoryGross", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Work-in-progress", "label": "Inventory, Work in Process, Gross", "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r808" ] }, "us-gaap_InventoryGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryGross", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://cactuswellhead.com/role/InventoriesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/InventoriesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "totalLabel": "Total inventory", "label": "Inventory, Gross", "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process." } } }, "auth_ref": [ "r810" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "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": [] }, "us-gaap_LandMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Land", "label": "Land [Member]", "documentation": "Part of earth's surface not covered by water." } } }, "auth_ref": [ "r859" ] }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefitContinuingOperationsAdjustmentOfDeferredTaxAssetLiability", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tax expense associated with revaluation of deferred tax asset", "label": "Income Tax Expense (Benefit), Continuing Operations, Adjustment of Deferred Tax (Asset) Liability", "documentation": "Amount of income tax expense (benefit) from continuing operations attributable to an adjustment of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity." } } }, "auth_ref": [ "r441" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities, current portion", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r488" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders\u2019 equity", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/Equity" ], "lang": { "en-us": { "role": { "terseLabel": "Equity", "label": "Equity [Text Block]", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r119", "r184", "r368", "r370", "r372", "r373", "r374", "r375", "r376", "r377", "r378", "r379", "r380", "r382", "r384", "r465", "r650", "r651", "r663" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Award Types", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssets" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill and Other Intangible Assets", "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r112" ] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "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": [] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities, net of current portion", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r488" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "terseLabel": "Revenue from Contract with Customer [Abstract]", "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://cactuswellhead.com/role/Revenue" ], "lang": { "en-us": { "role": { "verboseLabel": "Revenue", "label": "Revenue from Contract with Customer [Text Block]", "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": [ "r145", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r398" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross property and equipment", "label": "Property, Plant and Equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r116", "r154", "r544" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "ABL Credit Facility", "label": "Revolving Credit Facility [Member]", "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_ContractWithCustomerAssetAndLiabilityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetAndLiabilityAbstract", "presentation": [ "http://cactuswellhead.com/role/RevenueNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract Balances", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Supplemental disclosure of cash flow information", "label": "Supplemental Cash Flow Information [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Abstract]", "label": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Axis]", "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_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTaxIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCOMPREHENSIVEINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature." } } }, "auth_ref": [ "r6" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets, net", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r487" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, net", "label": "Intangible Assets, Net (Excluding Goodwill)", "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": [ "r56", "r58" ] }, "us-gaap_FinancialInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancialInstrumentAxis", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofLiabilitiesMeasuredatFairValueDetails", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofSignificantAssumptionstoDetermineFairValueDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Financial Instrument [Axis]", "label": "Financial Instrument [Axis]", "documentation": "Information by type of financial instrument." } } }, "auth_ref": [ "r257", "r258", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r291", "r292", "r297", "r298", "r299", "r300", "r301", "r302", "r364", "r381", "r464", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r549", "r677", "r799", "r800", "r801", "r802", "r803", "r804", "r805", "r828", "r829", "r830", "r831" ] }, "us-gaap_MachineryAndEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MachineryAndEquipmentMember", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Machinery and equipment", "label": "Machinery and Equipment [Member]", "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment." } } }, "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": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r765" ] }, "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": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r758" ] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/Debt" ], "lang": { "en-us": { "role": { "verboseLabel": "Debt", "label": "Debt Disclosure [Text Block]", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r118", "r183", "r339", "r345", "r346", "r347", "r348", "r349", "r350", "r355", "r362", "r363", "r365" ] }, "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": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r758" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingencies", "label": "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": [ "r27", "r85", "r537", "r608" ] }, "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": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r758" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/EarningsperShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average Class A shares outstanding - diluted (in shares)", "totalLabel": "Weighted average Class A shares outstanding - diluted (in shares)", "label": "Weighted Average Number of 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": [ "r204", "r213" ] }, "us-gaap_FiniteLivedIntangibleAssetsNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNetAbstract", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Net [Abstract]", "label": "Finite-Lived Intangible Assets, Net [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofFutureAmortizationDetails", "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Net Cost", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r113", "r527" ] }, "us-gaap_BusinessCombinationIndemnificationAssetsAmountAsOfAcquisitionDate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationIndemnificationAssetsAmountAsOfAcquisitionDate", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Indemnification asset", "label": "Business Combination, Indemnification Assets, Amount as of Acquisition Date", "documentation": "The amount of indemnification assets (amounts to be reimbursed if and when certain assumed liabilities are paid) recognized at the acquisition date of a business combination." } } }, "auth_ref": [ "r68" ] }, "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": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r789" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/FlexSteelAcquisitionSummaryofPreliminaryPurchasePriceAllocationDetails", "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsScheduleofGoodwillDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "periodStartLabel": "Balance at December 31, 2022", "periodEndLabel": "Balance at September 30, 2023", "label": "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": [ "r155", "r305", "r529", "r678", "r702", "r835", "r842" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average Class A shares outstanding - basic (in shares)", "label": "Weighted Average Number of 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": [ "r203", "r213" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsSummaryofTotalIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Gross Cost", "label": "Finite-Lived Intangible Assets, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r113", "r528" ] }, "us-gaap_EquityIssuedInBusinessCombinationFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityIssuedInBusinessCombinationFairValueDisclosure", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Upfront purchase price funds", "label": "Equity Issued in Business Combination, Fair Value Disclosure", "documentation": "Fair value of equity issued in a business combination." } } }, "auth_ref": [ "r80" ] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/RevenueScheduleofRevenuesDisaggregatedbyCategoryDetails", "http://cactuswellhead.com/role/SegmentReportingSummarizedFinancialInformationbySegmentDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total revenues", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "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": [ "r226", "r227", "r238", "r243", "r244", "r250", "r252", "r253", "r395", "r396", "r526" ] }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue", "label": "Revenue from Contract with Customer, Including Assessed Tax", "documentation": "Amount, including 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": [ "r226", "r227", "r238", "r243", "r244", "r250", "r252", "r253", "r395", "r396", "r526" ] }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CapitalExpendituresIncurredButNotYetPaid", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment in accounts payable", "label": "Capital Expenditures Incurred but Not yet Paid", "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred." } } }, "auth_ref": [ "r40", "r41", "r42" ] }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeGainLossOnDerivativeNet", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_OperatingExpenses", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Change in fair value of earn-out liability", "label": "Derivative, Gain (Loss) on Derivative, Net", "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement." } } }, "auth_ref": [ "r862" ] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt gross", "label": "Long-Term Debt, Gross", "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", "r131", "r366" ] }, "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": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r758" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://cactuswellhead.com/role/GoodwillandOtherIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Goodwill", "label": "Schedule of Goodwill [Table Text Block]", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r678", "r834", "r835", "r836", "r837", "r838", "r839", "r840", "r841", "r842", "r843", "r844" ] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://cactuswellhead.com/role/EarningsperShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/EarningsperShareDetails", "http://cactuswellhead.com/role/FlexSteelAcquisitionNarrativeDetails", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income attributable to Cactus Inc.", "verboseLabel": "Net income", "terseLabel": "Net Income (Loss)", "label": "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": [ "r101", "r109", "r135", "r150", "r165", "r167", "r171", "r185", "r192", "r194", "r195", "r196", "r197", "r200", "r201", "r210", "r225", "r239", "r245", "r248", "r287", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r468", "r477", "r548", "r629", "r645", "r646", "r675", "r713", "r853" ] }, "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": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r758" ] }, "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": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r759" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Employee Stock Option", "label": "Employee Stock Option [Member]", "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": [] }, "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": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r759" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "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": [ "r129", "r158", "r185", "r225", "r240", "r246", "r287", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r452", "r456", "r477", "r535", "r621", "r702", "r715", "r853", "r854", "r872" ] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax asset, net", "label": "Deferred Income Tax Assets, Net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r438", "r439" ] }, "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": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r759" ] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://cactuswellhead.com/role/Inventories" ], "lang": { "en-us": { "role": { "terseLabel": "Inventories", "label": "Inventory Disclosure [Text Block]", "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory." } } }, "auth_ref": [ "r303" ] }, "us-gaap_EquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Equity [Abstract]", "label": "Equity [Abstract]" } } }, "auth_ref": [] }, "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": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r759" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableRollforward", "presentation": [ "http://cactuswellhead.com/role/AccountsReceivableandAllowanceforCreditLossesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "label": "Accounts Receivable, Allowance for Credit Loss [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "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": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r759" ] }, "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": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r759" ] }, "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": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r759" ] }, "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": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r788" ] }, "us-gaap_MinorityInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MinorityInterest", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Non-controlling interest", "label": "Equity, Attributable to Noncontrolling Interest", "documentation": "Amount of equity (deficit) attributable to noncontrolling interest. Excludes temporary equity." } } }, "auth_ref": [ "r29", "r132", "r185", "r287", "r330", "r332", "r333", "r334", "r337", "r338", "r477", "r542", "r611" ] }, "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": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r760" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "presentation": [ "http://cactuswellhead.com/role/FlexSteelAcquisitionTables" ], "lang": { "en-us": { "role": { "terseLabel": "Summary of Purchase Price Consideration", "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]", "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts." } } }, "auth_ref": [ "r65", "r66" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Opening Balance", "periodEndLabel": "Balance at September 30, 2023", "label": "Fair Value, Measurement with Unobservable Inputs Reconciliation, Recurring Basis, Liability Value", "documentation": "Fair value of financial instrument classified as a liability measured using unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r17" ] }, "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": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r762" ] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://cactuswellhead.com/role/Cover" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsPolicies" ], "lang": { "en-us": { "role": { "verboseLabel": "Basis of Presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "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": [] }, "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": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r761" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Property and Equipment Net", "label": "Property, Plant and Equipment [Table Text Block]", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r12" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of business segments", "label": "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": [ "r825" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Borrowing capacity", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r22" ] }, "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": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r763" ] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfOperatingSegments", "presentation": [ "http://cactuswellhead.com/role/SegmentReportingNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of operating segments", "label": "Number of Operating Segments", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r825" ] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Face amount", "label": "Debt Instrument, Face Amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r83", "r84", "r340", "r486", "r680", "r681" ] }, "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": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r764" ] }, "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": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r764" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": { "parentTag": "us-gaap_ProfitLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" ], "lang": { "en-us": { "role": { "verboseLabel": "Income tax expense", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r136", "r144", "r200", "r201", "r233", "r440", "r444", "r554" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders'/Members' Equity", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "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_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Type [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r12" ] }, "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": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r786" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain", "presentation": [ "http://cactuswellhead.com/role/FairValueMeasurementsSummaryofChangesinFairValueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value by Liability Class [Domain]", "label": "Fair Value by Liability Class [Domain]", "documentation": "Represents classes of liabilities measured and disclosed at fair value." } } }, "auth_ref": [ "r17" ] }, "us-gaap_FinanceLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Finance lease obligations, current portion", "label": "Finance Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as current." } } }, "auth_ref": [ "r488" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://cactuswellhead.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationShareBasedArrangementsLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationShareBasedArrangementsLiabilityCurrent", "crdr": "credit", "presentation": [ "http://cactuswellhead.com/role/EquityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other current liabilities", "label": "Deferred Compensation Share-Based Arrangements, Liability, Current", "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for stock option plans and other equity-based compensation arrangements payable within one year (or the operating cycle, if longer)." } } }, "auth_ref": [ "r24" ] }, "us-gaap_FinanceLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinanceLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Finance lease obligations, net of current portion", "label": "Finance Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from finance lease, classified as noncurrent." } } }, "auth_ref": [ "r488" ] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://cactuswellhead.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Applicable margin rate", "label": "Debt Instrument, Basis Spread on Variable Rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_StatementClassOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementClassOfStockAxis", "presentation": [ "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME", "http://cactuswellhead.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFSTOCKHOLDERSEQUITY", "http://cactuswellhead.com/role/Cover", "http://cactuswellhead.com/role/EarningsperShareDetails", "http://cactuswellhead.com/role/EquityDetails", "http://cactuswellhead.com/role/PreparationofInterimFinancialStatementsandOtherItemsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Class of Stock [Axis]", "label": "Class of Stock [Axis]", "documentation": "Information by the different classes of stock of the entity." } } }, "auth_ref": [ "r146", "r159", "r160", "r161", "r185", "r205", "r209", "r211", "r213", "r219", "r220", "r287", "r330", "r332", "r333", "r334", "r337", "r338", "r369", "r370", "r373", "r376", "r383", "r477", "r580", "r581", "r582", "r583", "r587", "r588", "r589", "r590", "r591", "r592", "r593", "r594", "r595", "r596", "r597", "r598", "r609", "r630", "r647", "r657", "r658", "r659", "r660", "r661", "r792", "r817", "r823" ] }, "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": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r720", "r790" ] } } } }, "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": "35", "Paragraph": "1", "Subparagraph": "b", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r4": { "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" }, "r5": { "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" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A" }, "r7": { "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" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "SubTopic": "405", "Topic": "942", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481071/942-405-45-2" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-20" }, "r10": { "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" }, "r11": { "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" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r13": { "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" }, "r14": { "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" }, "r15": { "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" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-13" }, "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": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-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(a))", "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(b),22(b))", "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.19-26)", "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.20)", "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.21)", "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.25)", "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.29-31)", "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.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": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14" }, "r31": { "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" }, "r32": { "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" }, "r33": { "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" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "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": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r37": { "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" }, "r38": { "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" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r40": { "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" }, "r41": { "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" }, "r42": { "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" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-13" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "272", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r51": { "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" }, "r52": { "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" }, "r53": { "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" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "310", "SubTopic": "10", "Section": "50", "Paragraph": "11B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B" }, "r55": { "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" }, "r56": { "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" }, "r57": { "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" }, "r58": { "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" }, "r59": { "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" }, "r60": { "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" }, "r61": { "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" }, "r62": { "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" }, "r63": { "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" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r65": { "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" }, "r66": { "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" }, "r67": { "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" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r69": { "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" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r72": { "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" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-15" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-16" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "45", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-21" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4I", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4I" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4J", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "55", "Paragraph": "4K", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K" }, "r80": { "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" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r82": { "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" }, "r83": { "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" }, "r84": { "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" }, "r85": { "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" }, "r86": { "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" }, "r87": { "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" }, "r88": { "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" }, "r89": { "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" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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(6)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r97": { "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(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r98": { "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(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r99": { "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" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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.19)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r103": { "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" }, "r104": { "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" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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" }, "r108": { "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" }, "r109": { "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" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r111": { "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" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r113": { "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" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r128": { "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" }, "r129": { "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" }, "r130": { "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" }, "r131": { "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" }, "r132": { "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(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r144": { "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" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r147": { "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" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6" }, "r149": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(27)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r162": { "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" }, "r163": { "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" }, "r164": { "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" }, "r165": { "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" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r173": { "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(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r174": { "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" }, "r175": { "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" }, "r176": { "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" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-17" }, "r178": { "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" }, "r179": { "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" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-2" }, "r182": { "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" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r185": { "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" }, "r186": { "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(m)(1)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r187": { "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(m)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r188": { "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" }, "r189": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "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" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "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" }, "r199": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//260/tableOfContent" }, "r203": { "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" }, "r204": { "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" }, "r205": { "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" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-3" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-1" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482987/272-10-50-3" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(aaa)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r290": { "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" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r294": { "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" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r346": { "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" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r364": { "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" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I" }, "r366": { "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" }, "r367": { "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" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r369": { "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" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1" }, "r408": { "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" }, "r409": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "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" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB TOPIC 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r447": { "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" }, "r448": { "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" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-4" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "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" }, "r455": { "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" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "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" }, "r460": { "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" }, "r461": { "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" }, "r462": { "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" }, "r463": { "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" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r473": { "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" }, "r474": { "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" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r491": { "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" }, "r492": { "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" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481435/852-10-45-14" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(4)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "50", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4" }, "r525": { "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" }, "r526": { "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" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r530": { "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(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r531": { "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(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r532": { "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" }, "r533": { "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" }, "r534": { "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" }, "r535": { "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" }, "r536": { "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" }, "r537": { "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" }, "r538": { "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" }, "r539": { "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" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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)(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r543": { "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" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r545": { "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" }, "r546": { "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" }, "r547": { "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(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r548": { "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" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r551": { "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(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "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" }, "r559": { "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" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "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" }, "r564": { "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" }, "r565": { "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" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "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" }, "r570": { "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" }, "r571": { "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" }, "r572": { "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" }, "r573": { "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" }, "r574": { "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" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(i)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r583": { "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" }, "r584": { "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" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r586": { "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" }, "r587": { "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" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-2" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "27", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-27" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480737/946-205-50-7" }, "r598": { "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" }, "r599": { "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" }, "r600": { "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" }, "r601": { "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" }, "r602": { "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" }, "r603": { "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" }, "r604": { "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" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "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" }, "r609": { "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" }, "r610": { "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" }, "r611": { "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" }, "r612": { "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" }, "r613": { "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" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "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" }, "r620": { "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" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "r626": { "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" }, "r627": { "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" }, "r628": { "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" }, "r629": { "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" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483580/946-220-50-3" }, "r631": { "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" }, "r632": { "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" }, "r633": { "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" }, "r634": { "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" }, "r635": { "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" }, "r636": { "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" }, "r637": { "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" }, "r638": { "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" }, "r639": { "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" }, "r640": { "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" }, "r641": { "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" }, "r642": { "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" }, "r643": { "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" }, "r644": { "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" }, "r645": { "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" }, "r646": { "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" }, "r647": { "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" }, "r648": { "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" }, "r649": { "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" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r652": { "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" }, "r653": { "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" }, "r654": { "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" }, "r655": { "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" }, "r656": { "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" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-1" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r661": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-3" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r664": { "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" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r666": { "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" }, "r667": { "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" }, "r668": { "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" }, "r669": { "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" }, "r670": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-16" }, "r671": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-21" }, "r672": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-22" }, "r673": { "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" }, "r674": { "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" }, "r675": { "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" }, "r676": { "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" }, "r677": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8" }, "r678": { "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" }, "r679": { "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" }, "r680": { "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" }, "r681": { "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" }, "r682": { "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" }, "r683": { "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" }, "r684": { "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" }, "r685": { "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" }, "r686": { "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" }, "r687": { "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" }, "r688": { "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" }, "r689": { "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" }, "r690": { "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" }, "r691": { "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" }, "r692": { "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" }, "r693": { "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" }, "r694": { "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" }, "r695": { "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" }, "r696": { "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" }, "r697": { "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" }, "r698": { "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" }, "r699": { "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" }, "r700": { "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" }, "r701": { "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" }, "r702": { "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" }, "r703": { "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" }, "r704": { "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" }, "r705": { "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" }, "r706": { "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" }, "r707": { "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" }, "r708": { "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" }, "r709": { "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" }, "r710": { "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" }, "r711": { "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" }, "r712": { "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" }, "r713": { "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" }, "r714": { "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" }, "r715": { "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" }, "r716": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r717": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r718": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r719": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r720": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r721": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r722": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r723": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r724": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r725": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r726": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r727": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r728": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r729": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r730": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r731": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r732": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r733": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r734": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r735": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r736": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r737": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r738": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r739": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r740": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r741": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r742": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r743": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r744": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r745": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r746": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r747": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r748": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r749": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r750": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r751": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r752": { "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" }, "r753": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r754": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r755": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r756": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r757": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r758": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r759": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r760": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r761": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r762": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r763": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r764": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r765": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r766": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r767": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r768": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r769": { "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" }, "r770": { "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" }, "r771": { "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" }, "r772": { "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" }, "r773": { "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" }, "r774": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r775": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r776": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r777": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r778": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r779": { "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" }, "r780": { "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" }, "r781": { "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" }, "r782": { "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" }, "r783": { "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" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r787": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r788": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r789": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r790": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r791": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r792": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-3" }, "r793": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1" }, "r794": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4" }, "r795": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r796": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r797": { "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" }, "r798": { "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" }, "r799": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r800": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r801": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r802": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r803": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r804": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r805": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r806": { "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(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r807": { "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(6)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r808": { "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(6)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r809": { "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(6)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r810": { "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(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r811": { "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" }, "r812": { "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" }, "r813": { "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" }, "r814": { "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" }, "r815": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28" }, "r816": { "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" }, "r817": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r818": { "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" }, "r819": { "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" }, "r820": { "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" }, "r821": { "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" }, "r822": { "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" }, "r823": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "55", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-55" }, "r824": { "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" }, "r825": { "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" }, "r826": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//310-10/tableOfContent" }, "r827": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13" }, "r828": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "320", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9" }, "r829": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r830": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r831": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3" }, "r832": { "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" }, "r833": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r834": { "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" }, "r835": { "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" }, "r836": { "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" }, "r837": { "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" }, "r838": { "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" }, "r839": { "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" }, "r840": { "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" }, "r841": { "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" }, "r842": { "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" }, "r843": { "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" }, "r844": { "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" }, "r845": { "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" }, "r846": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r847": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r848": { "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" }, "r849": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r850": { "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" }, "r851": { "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" }, "r852": { "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)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r853": { "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" }, "r854": { "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" }, "r855": { "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)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A" }, "r856": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r857": { "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" }, "r858": { "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" }, "r859": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r860": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r861": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r862": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r863": { "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" }, "r864": { "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" }, "r865": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r866": { "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" }, "r867": { "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" }, "r868": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r869": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-1" }, "r870": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r871": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-3" }, "r872": { "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" }, "r873": { "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" }, "r874": { "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" }, "r875": { "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" }, "r876": { "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" }, "r877": { "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" }, "r878": { "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" }, "r879": { "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" }, "r880": { "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" }, "r881": { "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)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r882": { "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" }, "r883": { "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" }, "r884": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r885": { "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" }, "r886": { "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 0001699136-23-000140-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001699136-23-000140-xbrl.zip M4$L#!!0 ( /"$:5?6-W@PGB,! /6;$ 0 =VAD+3(P,C,P.3,P+FAT M;>R]:W?B2+(N_'W_"KV:/OM4KR57_:[7^Y_/M5^$JL),9]F.A'V(48T=X=..I$$^Q\$<0_ND^(.&[ MA^))$,Y:+?:K?C!_#MW[:2RHLJHM[UI<#"\M4[:0MY[30F\R-S]*/+I\C]59S&\?SRX\?' MQ\>+1^TB".\_JK*L?/R?;U]']A3/4,OUHQCY-A87OW+PZZ^>QJ%W$6'[XCYX M^$@N?*237-[XY+G^GYM>H'0ZG8_LZO)6;#N;GTDNO'GFVB/9W8M1:Q_IY3&* M7L;J/L6;[W9]>OC]'4>-K+C)'K$GC?%R+FP@QF;B=S1Y)7AM-N]BK;RYN7M4?A*Q@F*QNQ>\N4J:[8SFB)N^:0D:MTC M-%]_VN+"6P"18;F[)K6*S$L/^?>_BMAO_1B)!.:$YMU?9CA& OU]"_\[<1]^ M%?N!'Q/Q;=T]S\G/[/33KV*,G^*/;)P?N__U7__U2^S&'NX2;K:6+/OE8_K= M+Q_3)X\#Y[G[B^,^"%'\[.%?1<>-YAYZOO0#'Y/WNT^7]$8Y M?D-42.C:Z>N?XEL\^56T6X2;/IK1)V'W\MHGKWOND\&%R!OX#G[Z&WX6!9? M:])23;$K$R$U.QU%,W_Y^.:I!5[23\*0O.&+&]G(^P=&X;7O7!&M)@HIV'X5 M"4 O'?)-:T:>,FTYZ'4,EMA55(+!_5^_U*6O[_]"OHE>WM 6NY3Z9;W@.[D] M<-Z^HB-V_W[ "WKDZ0Y[@X?NWU)MXCYAIS5!'E5&Z=N(W'?9%UM>^"4D&H,( MN)#X;OJZ"-_3IXOOQJ#*'5%PL.W.R--^%0\'%5;(71^X>)R#%WVQ0IL0SS!!"PVCC8(&U6[EQ%;+L@0 M!:;:+V,B8F0*[FSN40EEWTU#.H-5N;IXBASRA(]O'Y&^_O6=BR%$01*R3TPS M7"ZHPB9".;/\'C/A67YR'?IYXN)08,_'&]5M?_"WMT+U_L?=Y5=OGSYGJ%I^ M(OHHC*D(,>2V9(7\?_F[UVLOPW16;NVTJ))Y>V7Y>?F2CV_FO9D,:M5D6,PF M!53ZT2$O>YI[KNW&WS!%GN"XY&IJ0BTQ.8K)E.AO^AZ*HN%D% ?VG[TG-Q*[ MRUOZP8PH&G:]ES[HEX\;G_]"BI=AY&!.NES$*;T5PIK7Z2VNY*,W%4]&[&B* M""9?Z#W#*$I"W%V,C%U:((] MD9DPI?H6>@L3\/+'Z*HX*@V^J$3-R51K% M0;@G0==^3[^\PGXP<_U-C\VK/MX\XN/;T6?RTSP-+5/U*G& ++ZEMP7TKEBJ MW]*[?1KTKGH5+0W?':#W4?&MR+P1/ KCR^]AX"1V/ Q'.'QP;?R6SHNKY9/X MO==E'=_K4BKW/IO*#S4_/]02^<&=&\P+/^J)2BC('["?X-%>0REWLYG*DIC6$.R>9'X[4M(IPYT;SPY&:UA'N M'.WYJ'#GEW/*GGI6&+6Y7OS1I:>.K=3F.O5'EYX:UAZU MK=RW;H@VY6$KEP>YX,Z3Y&:SB0=IYD0[CQ,/KE3DT'& MG;?))W=J6G>XS>>"3C]$F#C'693"H.;AXN]UOEK3=KW'G MN#:-U95G=I3&:NZ[(/UO<8Q< M'SO7*/1=_SYJ#.&YV[(N"GS;3F:)1X\ILB 0O2_$4_JT!SSP[6!6P9Y$1;S@ M;KNZ("]N I_.* P\C\C @,PMQ%$%J045D9^S].\RI\:_.\X'LC@(G6C\.^>< M6YVG&5+3^ \+<(Z+"KP1'G#1](#$T5P7#IBE-SVD4(NYS0/CFAX@J-Y!Y8%+ M30\CU+Y&-N:LH=[TP$7MK&[,L3N]Z7&1FH*SI=&?_U2+NM>^B@C?]+ -!\'9 MTGC1]+!,/<'9TL@/T0^N+3NUO&"UWO2 1NVLKOJ ?VFL-AH?#JG!LBN3_A#5 MJ(GP30]4U&W9EMN])EPT/2!1S[9[3DBA_FWW>AAG-CU <.1M]YJXU/0P M0NUK9.7!V;+B\&;3 Q>UL[KRX&QIK&YZ7*2FX&QI]&]ZVL.Q@[.E$;[I81L. M@K.E\:+I89EZ@K.ED;_RZ$=]4VNZ U^[)=.8/@EFT]W_VEG=F)8!5M,#!O48 MK>71O^FA@",;K>41ONF.>?U&:WF\:+KG7(O16A[YF^XXU[[1(\.=?\8"+IH=8ZM]VKXEQ30^8'/^T>PU<:C<]UE&[VJTV M@JF4V.FUZ6&5VEE=;02S3%8W/I!30P2S3/HW/7ASU AFF81O>MBF[@AFF;QH M>JBDA@AFF>2O//A1W]2:'BNHZTQ4#;T.VDWWWVNW.D^S!T:[Z>&!VG%QA#-1 M->"BT_2 1&UGHNI@5M-#"O4'9VMB7-,#!,<_$W44+B6^F[)H,=(7+LTPBI(0 MLV;9BVO+1RPO+3_39VSA.K=AB<])1+A);!V;<#UB^O.U.?@7#S^-8HR/L$FM MMM1VS@C\ZJT'B2*W(8NZF/*V^MLJG0]Q&CO\M>8H;6K-&?-=3K[G ;8."%*06VE;65"-U!3*G6%W06,+G*4AF*S*W? MR@57ZJD H!"%%!J>1A\C >ZYPZS5^#P,RD_CYNT?,[)[OT#C. MG#[C\_/=\QR_#>-\1;[3%.M?D;G=T.:+YB4>PU%D;EW;0C3_G+CDJ?X]N6_Y MYV V#X,'%NIL3#,)1>;6 VX,.TJ5#FY]WT+L^(;L*5G)P^?5&YLC$]SN9'/. MA#(E0>'6S\[%!&JQWA)C-2(WC/YTG>:L" JWKC2'A"\5\=QZRX74SN]XZMH> M;A#@N?6'^:-[J7AOML>;*AH_1E[S+!REV8[OL4E?*NI/P__]DH2^&R7&Y.C M]!'1JQ+Z3DE-%MY^>OIK<4-S:,^M[YN#]J-Y$'AH[.$[;$_]P ONW0890"JW M[B]'L.FX=Z2^N[\;XJ_N MG8%/)GCO$AKWH@C'T>?G;^A?09@>AWYKS"91',QP>(L]1 W::.K.&\0,;MWJ MO9CQ(A#/GU&T_L/&L$7CUMW>CRTAN0-X0O'!Q@4S1N M7?N&,K$.=U+CUNWO$YJ[\1=DNQX9UOLR"@^!]^#Z]V]ORF!1[E=_#?S[&(>S M*SR.-R2B$P=K.$G??.@;HS!F@>W .:\H#X92O[/\B.D^@/['E3C)RO MGMWSG4$2V]6+7G4%;)$$7C-O14 M%X]/8>GB!U\ZMS$T/G5(F:M5'D1_Q3$93/-@Q6U@\!34QPG80:6"C=NHYS8= M=C?%38=8'GEJHL&EX1@:RBDJ>@0@EU_]>]DR:71 M^%M"UG=%$%#$OJW6)J!7JUW\:XG^OQ3J]1,Z\+4ZO8MGD#^7#\A?IE?1(;R; M!\@L&2NU!(8/./3=^VG\Q?61;Y-! +++V=?2N8W^UH!%RO);Y-_C5P1\ N@)0-G\JQ[Q%>70&]QNS-2D+\]>J_&VH4)SA]5\A$AO+6E#Q>"A9=;^U?;? M%%\XC!#2I) X??1S2 Z_OLR]HJ2/DGZY\2WLF-KU_[%?.A+JG@+HJZ M=HJ_E ;;^5^[7!J?1\C#;U[+$@Q?.@,/)Q-":+^"\Y\'R*=2&BZX#42>+R[> MVLY*656)3.[B;6NLYK%;=TV":7(7&:(+YYT;4Z$8^([[X#H)\EXEXV_X^7HV M]X)G?'!DD*NF43493B9WX9KSX7]%P0N3V^!%L;7VG5/4HZ_FW 6E)X0'* (LQ+E M:+:2]+WQ>M4+O$G^7\X"SW]\;'?0)/_2VCB6\Z"XK:8'U4X8'Q79_!:7D;E^ MD)!1AG,"^V=:/_2]6SWP[1.50"X#93O8P5R@WP+/P6$TC*-2\T>7:'#RY^_$/W,;H3AR/'$& MVV@ACQ X@O54#AZ_)_%P3K-/FH?(-K?Q21X162H(P&S;C$CNPJ> R/,VW-K< M19#/!I$<@8"["'6MKML*AIA,KY]6?G_'K1O]29!)6PGA$$=Q624B]JH(P!&N MN RU5UOEY'01RQ&N^-T=X(O[+$OMW=7KISFV8^S<$D/%3_#O 6U(VZSEBM]@ M_#'97WWIL.)JYBGUSI&S400=['TL]-( M#4=0A]O8-Q_>]:F'=#K<1IJ+\_][Z-KY_11@/;\AW7HB^L41M_21K^A)?^P[ MS5+]$,UMUG[.NUI7AS&?NY K;.<=D_T0&6T \WDXE=)I9A#U[!0%%UCA+D * M6N5XYF0SHYEGIRBJ8C]WH8VP%F_6GIY=EH6 MYN7EMWCV&NB@,0X_*B^0>G)0+:PZM &64FI]1)=8K4&5N MXVX<,ZJ&PA*JS&W8*P>C1O,@\&@?PSML3_W "^Z/TCNE%LW';)GCW!OYOJM*::=E2]U8QY_>G2=>'JIR/+_$M_>A\)[4RN17/D=W\9AQ_)0]._7YZ=7ES^TB8:/;S\"X&#/)E\FI")M29HYGK/E__[ MCO W$F[PHW ;S)#_OZ4(^5$K(J18W!BY_\%D,&1<[./C8J"R_,DCB\ERX(HJ M_Z]/E%PM!]M!B&A@[S+Q"9'H762LB)NQ"-,03WX5_Y+-+6)YW=%%40@F G4) MZ)KYRT?TCMHK-(_9W8N)CH.0O+)%YNNA>80OEW]\C=_O1;ZPV_?!J/18'A3WQ0ZN6;P!XJF!#EQX$O__1?%E#]=7?0O!%4V],[6 MH;^5K,XQT&/FT%!B]Y^E_H][]'T9WGY+F?8+64']P+])9N1)MK!8:&^I5K9; MBBCXB!HU#G8OKP*;;1O11%61K;$3%HD5U>Z]]?4"]/2\T)6K2)+[[9U=KF, MJO,GNI"NJC4/3]9HDY)EETFY^H1_)1'Q$Y[SBTHO=)$G_/!=.W"P\&V4$U=K MLI+RJK"&^'M"['YBX3W?XGD0QJ(P"<(9BHE1_A1?3MPG[+3B,'E1(JK8_>^_ M="S=^/1>C[PS[A8\*I'\E8KI9G+^_4?O]N[Z]NL_A-OK[\/;.^'[C]O1C][- MG7 W%(A5<$>6_E0U*YHPO!44XX/SLS#\(MS]=BVL6 TO%D.O?T8N'?2P0)J2,H$/\0.\OIE;MBYG%AQ-,:4_:SGHN?6,4=C"_E(>-6*=XGG,8@(I$C59$FA( M99M\ULJ07= V^8%V$,*R#,MRGQI(#MZ_+$^1%+PNSOEB8];-8F.]N M>S>C 5U^867>OC+'+R!:+LV3,)@)S \2XD#8[?_RJ9IIA-R-:&!=^.(2Q4M0 M3I:^2RY6-Z[-C6NV,4!IEI)LJ3@,NMVAM+2VUI&;83.<1URB+C',&94J"KQ; M?.]&5"'%M#G-$GPF$6C6AV81EASX]@5' :I\,OCA^HG,@T$%\L?G)-NQ97ZWPN4_<@#=&.!F037?-8SP/@P?Z MG%>OW!*[5]A#CRC$6ZWQO>SPYA/X#CT-%KD4-B/R6VND+78UHZ4:;5.A/6AW MT*YLE!(-5(\O\X'!3" V>T![LPG_2D(WW!A.4IN*NP9+>&]\AW_\,^ M_UP%INHCQ^#B]F)T(5S/YE[PC$,V_[>0$6Z"BY\W@>'=9KNY8[-]XUYZ-;>> MLS[M.0[-#5_\YRMYGK(4]8[8[:BR\ W/ A9KZ9/;A3_0LR2,$I<(A"9O]4?. M57DNR/@](.N.]_^[\W116FSORF+7LF15+ZXU4@PX,Z)JL9/V$YB]X'ZNV11QE$1$V2_[+5: MPJM;DC?R"Q/5-[T0HS>*6B.*6EG;G_NY:([/UX! Y/LT\-\%]!1=[)JJV6JW MUQ=0_F,IKW&B__Y+6U6L3Y$08P_/Z3P%GTU4$@@.O82"22 >%A+L-R((\92U M9.F ;#<(@=89Z$44*C8G$@D#N8(:^H'\8_4]U"MRMZ=GQY M@G$BK7W14=M[!71V!WM,TR@]3*08%XJB-F2PE++: 3$M[KV&+9N?;ISFUF-D M3P6;'A;9=_D]!6J$B*T$H^?9./ ^[&^*G M;A9;$ P8^,F>TGKK M&SCU.7 M?/.JC(OXA O=NC#"A"CP7(<=2?C4*-KD-ZP6R]>SHHZ9J+T85H;894>SA)Z0 M'M02V!$N29BC4'B@54V$G\@RH1S@].1 Y-GQ8R'AJ8"_,,,4NW_\=@6DK@3Z MUPO=D>[5OG?ZJ69YY^];1/F0L?XC"/],A4)8/B(['+6'^UB?1,=B%K^GINS*'O '9>'935$D3%R/6,+(\\@=-*V+&LC_ M3EQJ'A.K>(P7-Y '+RSDEQRF($QSF-(O%A;SBJ&])#>UHND20!.9!">AS2O9 MK?,0VY@ME(J:/H/EE4;"!_)DPF A2L@*$4T#NCF]3!>*IRA^/Y]']';0=,3I MCQ=3^ED2D.\(']25>8\)5LA-XW^16=$?L?O)+^EX%@]C)^O92-AP410+'3E] M@H.>HPLN46L8=BLRPK19)- M\^5406V$3FF0_GL3<$(1_=,>B4$-THY4.1"],'/CF*@3[!']$ 8^73>]9P&3 M-?198$U;D,W"C5WSN]^?J,U3##;>+AE)&Z;%"M>(OO$R_=0QRU[H0/ M]*+U2=74B\4-\=1E*3ISFJ)S%/V9COQ%(^+H9U!UN9,U7I!!@;'0?"^JK@.J M#E0=/ZJ.*!8D>&0F6$"V351=B*B^HC(?4I-IX[<"06YKXX5H1G0D>4NX7.B) MO,P(#9ZIJ4B>1@PJ2K1[X3X,'N/I\NH%,1HQ&YJ#)Z[/LL/9[@X-MZMDEEL& MR"XKGY:W9=ZP=7@O-U(C<7'SEK$N[W3]%4U.O/*6N@P9KUJ]%R<8.U;WCQWO M>JQUH5GYSNP4"L=V+A2U4WY")/FA:58?$E&4R*4>S'JW%.\W*^ZPTUOGXNEQ3?]496)3 MK5'\34O^&;"P^9P;;3-Z3HQ[11R*9K'8GADU?(#%H)+ MHM3;)#-E=4$V'4HF#BM]E_=,7_[HDE=3-]8G4PNH+GUP([8*+IJB4".5GLFA M-]->#@X*G4B@.:BNLSG-:+F)\@&]W3YYXST6#7Q! &2O $@TQ9[W$JKX0 ## MXA#I^<@<7O[/%\(_<%1_R*KP$DCGG5O9:)G*!J*&:\Y;0X2FQ\)M-\'#2M$> M,ZW9(ZTK5$=8(.T+BW03K9GX;HJS:(I"3,RIM]A312)1MDLLKNA7<7#S9<,. M( E\?I/MA>G?EHKEW?6"JKKOV.3PLL*NI1:HF\)\KF S5WO<]?KVGUI?[PYN[ZYFZT MR:JH;LO[!!5K^\+8,XM_Y[91Y\*T]-(?2P>;[ZG[GZS+JB!W=,TD+79/*.KC)@EK<[=WPD!H"5\&-[V;_J#W52"^VO#V6^^.M5/80R%L DT+PCYEMWT! MDL>GY+6-A<9406/6/Y9B?/N&?'3/%"5C75.GL2@7TN@Y1,*5&]E)6MZ:[GWT M?.0]1R[;07A=V?J![Z0[Z/2>6QPE7LQN&$*T8G&X*T5VAX=UOU[>P(P3+&B_+FF+ EE!C M&?<5WR,O-418"1>P1!IBB5#F@0M7/]_VD[SV4F7V0&?6/Y:"G*.1+N$+LN,@ M!'79%'79!G796*&CI]YA"YV7L11DW ]_I='!"'GIF:_K?R>TI]5*E58:$/L1 ML:,;"W,4E&M#E"MELVJ"034T6 MNR-"6A1#0D1SI)-R3;5V2>=:P9##:Q<<5KJ@<85*Z.%BJ%3"A[KCHU()*Y+( M4YF2?N\'347IW?Y#N!G>70NWUW_MW5X-;OXJ?!G>_D'^;'T=#O]&/X_N>G?7 MWU8KF>2;I$N([,>76@6=6W/60KFC_4_^GB#:Q<1[%M(N0K2#X!?B?"]*\\FM MOPL?:*&R1?7^][/EC=.%A4@O$4%B.CEA.:RTC\M_NCZK K: M#".?WD2P\Z:,HZI<"_G:7TD"B@0T2\M.K@YX]>;E8"^$/Z;8I^4J627">!,= MTO)LCP&M-[EXE!TDGO.^]\$8>RY^P&L]$WRR0+MS,N?W5UPJ&VN/P5'LSC;< MC9_FA"#OOYV' >VNM=I=(7()0E HD!_0'MZLTP,*L9"^+FT_XU+$N9-G83MS M"!V]>!HD]U-6U)-V+]M^\Y+I:4.;Y=-984]*MPOA;HHCO.L!=(1C1/E 8!9@>S]&0 X<("B&\>3Q"#!3LM=R(\!\E+MY_LZ:UT0@O= MZ,]TI(EO$Q..D(X"6A)F0<20G+;NI+]R7-IL/?'8[PA''9<\@OYRQKI^K-XZ MQL\!N<"H%[!DW 6^R:>(,(6U-5H,DB)&[GS:Q'Q1 M;=1NF4Q<2#9Y);D'N^GIPP5WWNC?M+$?$9 O&0A[*YVSEX.H+ZW?EZ+/-.I$ MRBW)4E%1'J4HITWF"3]F08B7BTPJH.3+-_+YEOZ4 NN8HC]*Z;F).D)@DTE( M]*:%B*4F%M.5JYJ-5C:FDR.F6$CU/GL;82E]4;@X^\F6(:8@R-OHFD'KK!+B M3,)@1F811'BY"*0#I@ICNX[*56J2)ZNEMW-)DE;F3JCMSN8$3 XM:VU[B;-C MO6?P7/R6?/EO>D)LXBY_@%TJK+$;XOB9%D!.6\=MD!RZYFVYM&0]\B+6QFZI MGM-WD$]^:OJ\5L4F2T>$_YW0WSZ&M..=SV 6HIV+,EN:'AFVYSB,V()ILPK: MBS5VC*?(FQ#H/ LNP1Z^H)C%\YC*$ MFT/NC W420A9: 'PN4,K1.]&G,2LBC=+V":Z,RKCU8DM61>E=)+8DHHGM ;Y MT@J@U<7=T$YFM)*J33?AJ2N9ML"B(]NF#[=+0>7.]1Z'#2J5+[<4#U\##Q\\ M?*X]?'H )?4R!^E_MM8G>Z\9!?K%9Z3__=5%9I@X+, M289.%AEDCD#1[_7O?HRD!2YN^A="[^9*&/WX/!I<#7JW@^OM01YNIC"\N;J^ M&5U?T0J[H^'7P57OCGSXW/M*L'TMC'Z[OMX1JN)E%A\2'R6.&V/GYQ,LV6O) M%T;'*+VXKJ)>F!UMK\?NOF8HY?>E9(,]H!3PT1H8%>P'P1YXZ<;D978>H#.K M-DC(0QWFO3!+_*4M #5;T:L([+5EF IR/^T/^+]EL"\;Y<9VL[B/P;Y]4Y7H=/N8!TG#39"LO*A/V/9UG9//?^ M(F2*#I69=P38"T!5/Z,&#?AN+6G1^R_-"\NH+?K91]&41;=M^@<-T3T@+_7$ M-S&_"&UDH58#*F="T4_OK81"4ZRIA6?>9*EMW:^2R'G?^DI?;7U%&V&EG:^2 MJ'6/T/R2XJ3G._0_UZ\@Z<5]%(9TU^%WVGTJ7P,L;=D 2U/$KJE)EM9>:W[U MMD'\$BWANB'GTI4N+WE@[\$X560C.-)XBT'ABUU%DDUY;1H2W=RF"3_N _:>,^Q8M1AD-VKK M9JNT+"BN\>L&QWNRC!9ED4U)-91#-=EF;5+IFI_7(P%$96F%$A%%&S]H;4DU M#[8B2T04^):LPS=-H@A"%V>%$G8)3%Z#N=D"DZ&"EZ1\_FL81%%1$:$'Q&1- M,A2>S,>R8Y& H0RE>QB&VD3-FHJDMC6.,%2#"\*?FOT>XCER'9;B[D?X34)U MD7@N6"T92GA!Z.N4SL3)9\4ETOVE/8V7#FWA(>FZRI'M M;PD15S^;C298(K M63),G2-<\6(3*\J%6I^VO@MBY)6GF(OLLIZH=&5%+PZ1(T7LZAU5ZNAE;5'D M9E2#S.IS!E]6H.,0\*EBUS1TR3S<.C@6^,YF2^![&,S)F)Z9K4UWS>0'[9FP6$6O]A'XO*(=TMT0U)5<%*/V5<9EKIO.&2;G^I M':G3.?/(=SU+P*)?JG\O>)3M J--*YBT$O(AM>L/70_.(VR9L1Z\T'F3=!45 M&=8R5>J8'8Z"F! (/[(F+Q51M%$DS:4XY[!X'7@8^#'R[UUZ0&N3L@7SIO . MXY*>J<]Z@^/K)UKC@)#DKT'@/+J>5U0V+*)MVYK4L7@*0X+A?/1]QZ+(FKA/ MV&G]!X?!!E"UQ2XK\:)^X@A49V/U+AD&5NUAZG9?E4K;J\JR9*D\V1M@P1Y9 MI>Z)'D,6NY;45@]>CAMLJ]:F.:_P!(>T_E&,GE*3%<+%)2C2)5D'/BW4=H>> M7HR,HL)!>_0HBF1H!D>&!5BK1U:MY>&)'MJ1%?)^SL9031O_$**7G6IQ MXN*1%8U]34VZ>:%M4'-0?RSO*LPE)+LM]>:\(@9I?IW\N^Z6>R1P]T[/W4.KKO"H8 MY2SW\3U%QWZ'%PR+'EZ0U%,\<@Z2<:J2D;-LR6&2T1:[NB59UL&6\@E&K>I> M%\,$[SQ(G]]2@HVV[&6&4GO%.]E3GCIDI9$E2SDX(P:V;3E&4[9J+@5-IDQW M;253.7ASBK]-6_9NBVE8KJV1:Q3Z+=J1C]M M_SAU+N_0TVLYS=Z2HH=J=8WFFTMM W(B3QE66[1Z=;#2":PLR3CWU$C^-/BB MDL'B3'LP)D-FRW4DO<1 %LH=,BD/L\Q7:T8<*DX&/==AZ' FZ)3QE&%ZEXDG M4^P:4D?C"4]@7V^H.;(2CBY3/Y^'T5.H[LBA$F6)75U2](-W0\&,YAA1A>J. M'(HHNHTH619/B.+%@N8A][W<'<.L HZG+ED9NOKP;1]:B-NR),TL*U\E'ZL: M9%V?+?8RM/K!V+-HL6[%E$R]K -QU6+O;-)CWYS8?XECPZG]*D[MKTA1\:/6 MEI*>\>%ISQZLZ[H/[A\&*95"JF.6=9REH>9U/8KW:Y$]PY=6G!"?/M9>XDW@ M[VGJT.U$0Y94@Z?D5PA5\[.?N#^TZ):B:4BR>N;5 +C;-RQ=/9^'N;//]N'> ME30L@Y9D436PH$\94OOL(.X/*5/LFI*N@07-VT8AV,M'W"_<7WYH]6Q#LDIK M/0:F,H^HVF_/<']4M5F:OF:=N97,[;YAJ2<,SW;/)O]^85'YZ8A=W= E^?#J MA85XU" C^FQ!EW^CL"#HVC(!G=R6=$-I!.C.QLSN![.9&], 5GI8W%Z>=;(/ M*Z63>Q]W*:Q1:*I\B]]%V/O"%,\'NA M7>%PSW?ZJ_Q]D4Z%DN&=6-9CV-0A P4UY,'45C=0>Q0']I_3P".HBMC10.L3 MZ\JZX^0P5+(Z@7SH[^$R12.B")"$GW:A\3L.1U,4XIW&XN#FRWKGS\5;&,R^ MHW 8CF*Z+?D[\A+\^M3%LBV_0%7;+1W;QF-4-1Y=[,H7\KH-L?:%,$>A\$"? M)@E;9Q#1MT2%N_NNCIT--.HE\30("=N=HG:1L8/ FX>7V>2US.'1LIBR1$0@ M!\73X0KHY66%*;_'U 91E+R?UH:CUZ\(L@H3? \\#),XBHDY171,@:&UCS&T MP@3K' .A>Q&L0YP*,BR#5]^QZ*(J%'"#";!?Y!]J^986_VV2L*&IN=/8U?JY+! M',/RM78+XLK #[0K.\7-7O-H8S-I_;3C&;U%)[;55,J>67';M^C@-EF7V>-J MLTJ[VH:.H.L$IP9:Q; ^@,+%C>6B@]N+PF1-9B4F.W(>$B\P7;I%?!XI2OE% M9F'*K#-+H?+ 4V$92&0K&R7YQ7XK2E0JTCRE.T) ]\6J_5R&5=NNPI!4Y#W- MVDXUHSF&7=LYENVHR,4-V_;Q!F?2_L#&T2S;HC/;W^Y2Y.*F;='1[6EXT6PU M72*TK\:V+0KM0VA36*>V0@E _((U:.T935@Z0D-!&G3E-DR5 //OD#X8ER-?$MCA'Y MTA$P"GTRI!)*NIVXR&0HX"5!KQ?T[-EV,DM8S8\K/'%MM^CY)D4QB/08'D\I&3NKU(YK;#UE9#Z!L?#R1UZ M*BQ+]&RS9&XHA_PS6,HG ;0U]5P6T-:QU!:[G?:Z3JX%265VZE-4=AJ9:WV< MGEF.MAZ_$5 Y/>YI( M91#H=+1:_KJ!/=\I()U%&LN1<%H# M2%*4MM3NE%4)O7X)9T;+1V:Z+=?E%;MBAL)[UV>OM][*E(VI85>7C3'% K)I MO@#RGVEPT@]B:FB$Y&N?12KO0Y9B&[+RZ/$41YB"Q\%^A%EM1T9(EGLP8:7R M7>82DR]8Q;J+MX;*"D$6P]"IDS\/(I8D>,E:&[D/^-.CZ\33)9)7?K7@K_SZ M$S0F(TCB[3_AA=3*.YMMY5\Z6BH;KFU;FC5IZY.)K.AM6Q^;EH+&FC;6=Z J74W4U3$UYT+ELYR8 ]-(_PY?*/3XX;S3WT M?.GZ[+7L1Y\6SUHH:JIHWJV:C##IY5<=="&G>FCA]"_>O+A\P2Z]LP32:[IU M(6OJULORA;+UVJ['$L=?E[=?WO78W=<,I=VYG'M'+3XX/K$?P@2\E GD@3\9!,R"'-"!7: M6B!.!%K+3]P4,\E;II]O:*@R+4Y5PFSS5-$^&9*I92B34R0,8.E +)U@?X[- M#L$M?L!^4FDKCDV0RNY:L;Q<70B&\TX?0#8@&Y!M ]EXR0>HN:]'X"1V+(2I M_MXO ^ ,=OA.=(].D;,.]S)8? F#&0TBTT?^X<;3?A*1^>'P^FF1:=2+(DS^ M[^QQ0E&U:+4W75([!V<2\7=0$23G9"5'J5]R:,T^59&L]@D6PP').5G)4>N7 MG ZM26Q(9H>GPC\@.2 YNR5'JUUR-%GL:FI;DKFJ^PXELU@(SJ>IW3L]N2)G M+D[\6(6263"K>F%2B.O3EMJ'=SB' EH\(RVS@E;U2%,)TBQ)DRV=:FC')R##4CC&6D9C6&.@31Z!%&3%/W@6@K\50ELMB7ZQ<4> M(3<.'UP;I[T+6 7!PTW3O"YLPX4KHWW!,83+$+NZ+IFE':7A*$ "2'M%6D:; M@V,@C?:Q-"2CPU- 9!6-M+4^G<:-5H+55,DO5W6"6" &I=0JW]K3J.E4CN2 MQM7^ B]14AX*8(3Y\A6A-,UN2:M_*T_KT!BJ);6M@Y4ZU$\Z39#6OVNFT\Y_ M;9U8'E#D"T"ZT1&K'Z,*K46M2O+ACAA@]"0QJM:_8ZJK8M>092O0>"P$F7I?E8T"KS"K;]U6N=7U21U0^]OV!8_(41EV/$E M(BK=_;8V=/8"0)T0H#(B;"4"BK;S)(C2E+(":8 H+A&5$0XK$5&TCZ>L26V- MI_Q6R-!9L1C#LG+&SV-G,2MGO$39H7O5AF08/&T@PE;UL5/#2P04/2QJ2II: M5N/L_@RM@M_#:)HZ+]^=X,+-Y W.F+7D.3.NO>_ MUJX''']>(%6F*5D041/W"3NM_^ PV F4Q:)PFVKBOJ)(]\?,%6Y!1F1X9._ M*M=6ID)+1TBR ?LIIXRO+"NR5)VE\JBS>(E7\E CPBYZH"V'&Y:OT=DIBE:& M@3F<8^J*^?<+5RPJK*(UFFTL2ZIY\(F(0KQJ4 S@?,&788L>#CZ=V@>:I!R^ M^03@.S'P980]#\>>(79-S934PXN+ /9.#'M9!NWAX*/5&RU=DLVRTH"K!=^Q M\SGKL%Y?F"JXOAW,\"%QS_.5G+SVZH#1F/J"A67'$KMM2S+ELH(*?.CM8U3; M.7GTY358#T!?6^P:BJ0>7N$9T'=BZ,MKL1X O@XMB&=(;05T'Z!O3YMU?_A9 MM!ZC:DJ&6E;UC*-8K7@^,ET)5\(PVV@%0)Y.V-906ZNNR" +"(XQD7.\# _&Z G:SU5K_KUN$"U[TKA^ M0NBQV$$*_.@S8TEZWQUER/53'")"4M='X?,@QK.(B!A]:QBP Z1+IZNPSNZ( MW;8IZ9W*-YQ.<P:FF245KD)L'Q:6,ZPAGF",MW\:=.F M!V65J &E2?J&C!&( 5=N^MW@^/UQO#*(<,"_AX&1 _L9/[RUF'GIJ5 M=4EK5WYHF[/]!?[=RZ\XBBYIMO@RO0C%<>B.DQB-/2S$@4"8U5K98R*WI9M, MT&_E0">,./:O>X"]%:K?!>5LZW44UAU#/[R+.D0!><99AA=2/<[H]K$LR1U( M53]EG&68X=7#3!.[FBH9^OJ!:X#9Z< LRPRM'F>ZV%4-28'MCGJW.]8LT3[A M0A()A/L7L!4"7FT%5GAA56&(78,L26T(TX*DG;VD%?%#"DL:+1>L2/KAQV'/ M1=+.6LQ.5<:*^&"%1,7A]0 M//28Q4-7R*P16CI!0CW2]\9"W:4TFS[*Q@[Q;&(SURCTR8 C88Y#H>^A*!)Z M0C1%(19:PAA%KKU?7.8,%M(362Z_XW!$^;VV;!JKRZ;Z?M5< F?Y\\\4*R\+ MI/RZ0';$KGQ1VBG$!EF9( (\S6TO$3#+$ %5EJD(& ?O<8$(@ @<702L ,B ")P/!%HER,"-*7F0N-I%3B;C,B=7H[C>DF,G8)^3B$/_12% MOS@!3E U%/.1KE*D;5(.&O.2RJK(F)\I-2=)@7B!>)7F?^T0+YUY8!7T1#Y5 M\3IOV3IYP2KFU>T0+(/Y=66E[^;D"$@52!6/4E7,4=PA529S%:NW!OG94]X2 M96G&GO+ZUGW9N[5Y"WB>P2@;.\2SB;;\P3Y@1T!D:.@>OXVX1$*0Q%&,?#JI MW9O,YWJ$)J73[F##>A[3DNR]E.HWR6R,P^&$K371\)7FBP!EH3PG5:9%@G2I M;<'!TU.'F5DGS-H$9K)DFG#N]-1A9M4)LP[39EH'M-FIPZQ=(\P4F6DSQ>2I M.]?9I#86,T-W[@+FDJD3[$1;JB&ZB'>LB59AJ5*(5!F2WBZKPA='V20 M!), MT=* IA*@*9(B ]!.'6C[&:.E 4UCAXA,KI*# &C\F*.E 4TG0#,EM<.31F,& MZ4=6$F1I=Y%_EJ^>H?#>]5F4U7H+!AO3:C#'YSLS+N^F6$"V'D' M,7DZS2@C@Z$%]>Y#Y ES%,9",!'B*8XPQ8)#B_93J?#9R3Y$[=.)ZR/?=LGM MA*\QGI%Y1>_*H:P09#$,G?8WF@>12[EW&6(/Q>X#_O3H.O%TBN3B:SH;5L?FY:"QIHVUG7+ M5'3]G\1F7?YH^K)5-2A<9*^)F+,(TI+KR+]D\ MM8@8LD)"1,!HLS4J-[]\1.]W\G9H%$6M1:58&W'>[_7O?HRD5!$/;OH70N_F M2AC]^#P:7 UZMX/KT5:=P,T4AC=7US>CZRN!_#4:?AU<]>[(A]$=^<^WZYN[ MD3#\0BY]^WY[_1NY;_#[M4 F.OQVS?W,/B0^2AR7J.N?MXYU!5B+S6^&SA<- MS+8+R8 ]-(_PY?*/3XX;S3WT?.GZ[+7L1Y\6SUJH;:IVWJVAC##IY5>-="&G M6FD1WEF\>7'Y(MWE?KNRI]<,ZZ(MM[=>EB^4K==V/;9]85K;K^YZZNYKAM*< ML6J6WIBQ5D57-==3,P*35:2&M'/)?D9,L+,VQ V>2ZJ\CN.Z=+)F):<6;(BQ M\(W<-XV$:[+\.L((SXGY23P.09.EK=THM[/D5$AS0[YY0QEFQ&VG3D[DUIKN M]S)S]L!+-R8OLW/0XH/K$^\E2,A#G>CG'*#(7<"$;PRHLJJ5,ML\*48G0S*U M#*UQBH0!+!V(I;/9MH3F@%"GDYOF@*IB0'- $#,0LVJ; ZJ*" !7N2[1[3H_9?FA66\[!$?V\/\$H3DHR_8 M21ABWWX6XI \S6,;L0)R_I5$\2S=2\V9"]O O)T/A[E7$9D ^>N]R SC*0[[ MP6P>XBGV(_[]R]5\G#Y,U]^#(,"FFI57:PE52-WCV@*(:4;1F_=:M:U1% M[+:5]=140$F=NF;->.-;UZAB5Y44X[@KUMGL&;SA+^P>@"-8ZN[!!NVQU /D MDY=0FGP/0J8IRF_>J1*SBMBZDJ;#%@3(ZMG+:L861-VRJHM=798TN:Q^#R"K M(*L\3;S$?8RZ1966;C04J6-4WAL09!5DE7-9S=H,J5M8:45(6954#794:O*Q MO^(HNA3L#9[V6E=[PIW6"M/9<5#*]5/>4#F2PUF)<+&T $DKFN,&@4ZN_9U* MH-(6NQW)ZA0L3P=(X=G:K@0H';&KJ9+6*;A> U*XMO6J@(HFBUU5ETRK!JB< M]0[)FMW6)V1/(H&P_.*@W9/%J>T-Y;7!M2R-0">DC_8WAPOK&D7L&JHD']Y; MH'2&-B,H!*(-HGT<]Z6P:*O$XI0EH[1JA2#:(-H@VA7XFX4E6Q.[BM*1#+/D M7540;1!M$.U2 P2%99M6Y+2(:)^.00[U/*&>YRY2:^]B*_O5\VR+7:CG"?4\ M,=3SK'(*>>IYCNZ&_;_]-OQZ=7T[^N^_M%7%^B1<__W'X.X?W,\O3U7/;6/= MH@EV_:PQ]4!5Y4)3M-)K09H7FK5O;^I0-==8[7( M4ZW&C-50FU*_5I$O5*,I@VT2",R+CF$6*;;[S@FA]I.X=P(!=]5>,\O[LM5Q MT1;L).O=%J' YY)J=X;!8X%D3_ZHT2-CI3X,\IB%]QVY3FO@L[_[:$X+YP*A M&*%N<8S(EVEUY&5W>Z!-"B+;3F:)1^-!C#SL&':*H3>9*>4/A CV/GJ:Y\ M#K2[>9L^S:@V>)]"?=XDN@OBA7JZ_G?BQL^;2N7"VL[2OF:!+XSBP/[SG!?X MDLG ^ZT'2$"MNWPOW&0/K*-(_X9-(+ZAG?;$*VO*AQ18;QSI>K,@\? MHAU@.[MS2P[N\:K1BOVZ9,KKIQF7+*N42IO3;TH^I-S '+1]P,Z;+BBOE 7 MJ6,'"OBFS+$LZ:8>V#3P"%&BU'/?KWK NM2;5.HM$'GNFIJ?\5JGR56O=?3D MOBZU-[3- .##6@=K795K7:9TE[36K:J$B?N$G=9_%T!&[NFY*ZH9CD: 30"> 3JA4)V14-JA')^BRV-44 M0Y(W5)0&G0 Z 71"T4D7:EVAY6V34Y-V4&A;'+FS;B]L:U4!L@FRR:]L%A+- MC(//-4FD2B2RHT@=LPWK->@$T G'U0D&ESI!$[L=VLK76J]>#SJA2(W'Y7%3 M0D&\6XW G7!GT^XLG* U8?_C,T%KL\[YAF=C' ID]JF:)2IP>]KBK@WK#5/G M;5MZF]9EFSX%E>]F3E=J=KU[Y5YI!< EX!)P";@$7 (N 9> 2\ EX!(W7"JV M$63NCBQ]<_T@9/&D-$9TA>T0HPA_"8/9U:JWLRVH]%L:E2H<6])IDQ]568\L MY=\! N!Q#+RLA@NU <_@"G@G=;AM,VRN)Q-LLXJN_;[P@T!&"+ _/]@R@; M:- ,"2J:VV_EV!881%&"G:LDI)L!9%2!DZ;\]P.?S#PBKQE.*-6C3<)@BEUK M@RCL%V+G:'/M3&&TR0#8#T._(R_!N2!D$0@!@)H%H.TK^19%U"Z23G201FIO MUDB%\X( 2UP[C< ECI>,/ =L\R\9!>WS#NO^:I35@QL0!GH N 1<:A27#@SQ M%3/.RM';ALST]H8>.V"Z\0JS,N-Y!X!KYX%C0]E^X+@^+78&*4]WZ$EP9W.4 MANXPRSH5XI \,*4^Y#_!%@5P";@$7 (N 9<:8<-M"^P\3IW+GO.O)(I9'\6[ MH.S OB,XL#1$V 8%+P"7@$G )N 1< BX!ETZ/2X4"3/I:F?DM M*43,?G[373=MKLN^O\'Q<'*'GC;Y^H;8-0P%D"P;/Y;8-2U.%&HFB0E3;0,(D M;!L"EX!+P"7@$G"I"8D262=A\R1+L+/OS!CHK]@"/=^Y?L*A[49X.&$&PS M MB%(XBZ(M=C7),M=]8\ AUS@$;0%< B[5H-,S*N)5HM/7U79'[+8W]$8#H)T, MT+).S')@/)BRV-4E4UGO^<-M"F;I66B.^U +E/HHF@KDY:Z#?2>B2/$(KQWA MPT^[0/8=APP3N\$VN/GR'FT$/[/ 9V"Y6KYT^;"KQ;M?$"*_(D01N_*%HJX! M1)CC4HEYCZ(R4Y[&] 9O@P"7@$G )N 1< BX!EZI,SE)V^Q$OYARU* M[ M *K8M:2.QDEJ!* '9!RX!%SB4Q-G170.T\0:5YKX#/)T;G LN"Q]$#)S(-0, M7 (N 9> 2\ EX!)PJ9PMT*S017IXXVL01;3M5Y_\UO430H[A'(=LIS,B=W@) MI=#W(&1;GW':&8Q6GMG6&:RPY:V+74.5C/:ZZ0U8Y!J+H#&:P*4RLW,XT1B& MV%4,2=<@@>>$L9@5[N$$BZ;8-=N2O.%T[/DD\52*)&LCDCXC#_DV%E LC/ \ MQK,Q#@5-E@155K5#ZDF-@]#!82L.YI>4_%'@N8ZPG [/$K>93@5;S>E9?2;8 MKX9)',7(IZ0H+"_T*+ A:>IZAZDEUVJQ9/;9)L@-E9KW$*J%/&^:X:?*V%B M?3Q)^B;/,$\[F6G:XOF:]1[9;RU=%_\V%?_UFJ,@^QSL'Y[YTJ=5O?1UB-NB M2XIL OQAZ8.EKZ:E+TO,2UKZ +UP'+V@'U\O9-L,EB)V M=5.5-'G]#! H!U .H!R.HQP,+I6#*G8UHR.9G?7@,R@'4 Z@'/:>=[$C(H5: M@!]?3=!N4I*I6X>G-H.0@I#R,^]",FIQN8+K1#3;'4DV83L,E ,HA[J4 Y>Z M@68Y2;(B2[*U7KH?M,.6I)?E0!9#[C#1+SLY*\3HUUQ)H=%DWYER51.P&MKD&-V M^K[7B;I76?)85;:A19.-3R'=BB,AA95F%=D9%>H/7VG:[*B3>@KQ08Y #"O- MB:XT6?)X].2^S@DE]X$ @P!7+,#&6BM<'D+Q;5GL:K(NZ1M*M8,4@Q2#%+^3 MXHS"(S5)L2)VR4(L=2!L U)\IE)<**_-R-L7NK( 3EL5NV9G?=%M8R%ZRMDW50UZ2V# [HN=3' M_I;6-'+<*,43K6@%E;*AIAMP";@$7 (N 9> 2\ EX!)P";A4-9>*A8TSBB5\ M<_T@9(YSZ@Q?83O$*,*TC._5JK>SS7O^+76_"SO1!FNW;:P'PO*'DP%X' -/ MS8C U@8\DRO@G=2QB;1(&2^PJ\GH% MV,;O")PIC#89 /MAZ'?D)3@7A&A2- "H60#:OI)O441K!3MV)1\RNHVX_=@=)2Q6"XPX]">YLCM+@&V8)F MU(<,)MAD "X!EX!+P"7@4D-\@;78S#M?X''J7/:N,_#[:.[&R"/&P2VVL?M 4^-[]R'&]/Y-YILF=K7U0YJP3<\KGD#J@4O M)>#2^7#IP,2DRE=0G9\5]!SRC=) !WI$H2,\X"@FXX8\H\KRC-B_GU&$G7XP MFV,_0O25F\3 $+OKC?-@HX)K),%V$G )N 1<.A\N'2M3)O^Z:8K=]3U90!'7 M* )9!RX!EYJ:+)-?-UO$M8=\F<9 Z5CY,OD!U.;+*3Z#M)AA/,4AF=QL'N(I M88W[@ 4OB" ;!B+;P"7@$G )N 1< BX!EX!+#>=2,<=YK5W/%L>9V<_]5?-Y MX!-K&K/O;W \G-RAITVN3D?L=A1.ZFX ?FH+O.R)'TUFC5]DP,]IXBPJDLJ+>CJ#-!T6/FN-:8R,!6.60;+SRM2!'0C@$G )N 1< B[Q MQ*4RLV#R)%.S#;/Q^PVSGN]'#3[M ]AV'#!.[P3:X^?(>;00_L\!G8+E: MOG3YL*O%NU\0(K\BQ!"[\H6R7@=7F.-08(>N7L.(C)3G$0"&;4+@$G )N 1< M BX!EX!+%6X?F_)N/^+%G*,696$/P"1^J&2U+3YVAP$](./ )> 2GYHX*Z)S MF":VN-+$9Y"G 2^5L@6:%+M+T]J]! M%-'FN'WR6]=/"#F&4G%G'(0.#EOIW"XU MP@$G2 A@!#JEY=4XF%]2YD2!YSKI%9Z%<3,)"Q9S-I6,LE7L5\,DCF+D4U(4 M%B6%)F5*UH:SDDN&UF+D[+.#4 :*:MYYJ$U0>%,U/]7!_ ),YTEU;/)"L_0& M38J2I;EZQHI#Z$Y;Z0D*?IX/M\66]362=YLQMJ P!-@9H M&] V_)"DD+:QN-0V';%K6H9D&NLY3J!MBJ9E?62\69;K(?\LASQ#X;WKLW=; M;Z7T3/D?CQ+0<( M^5?IMVWJ*YPRFX*9_(?1NKH31C\^CP=6@=SNX'FT5 M;VZF,+RYNKX975\)Y*_1\.O@JG='/HSNR'^^7=_W M(Y8987T2KO_^8W#W#^[G]R'Q$7%!B'WW<^&Q9FCH33]CYO.K,F;V.IFJA^81 MOES^\C3 N0+#4[5UCMSG;TOO?RJT2[D5*LMSE,LWKRX M?,$NO7,^TFNJNON:9NFEC]6XT$RC(6,U M+PQEOZ<"77>-U2)/M1HS5D/=?I6OL2KRA6HT9;!- H%YT3',7$]='+-[YT]0 M^TG<%EK.S(_OK-VZ(>R;+H8\13G['HHBH;?UX-VY4.!S&10@MX;!X[:?-8(: MKP7UF85'J^JW!C[[>U%;'PC%"'6+8T2^=!AIKE'HDY%'0)L41+:=S!*/AHX9 M>5@CSA1#JUTZA?0DN/"!G@5?2W8X4]K=!'YK9>^'46VY 00D8B2Z"^*%>DKW MTMZ0!=;VUY6-]:X0V.;C.2_P)9.!]UL/D ^,A78 R^IK>':>9(!75^(IT%" M'NKD6D:V;A9OV"_F&]KIP=&RIIP#<*=#NMXL2/RR5M23HPX BRM@\7GK2=6Z MSJQ6=(7M1;$BY8!B10L2G',QA(SFP <70U!E5HZH(VL-SGHKA).:2]]5"';> M]$'^/-EB1AK](DN& M"B8"Z 30"4?6"4>JH5M0)QAB5S45R3)UT F@$T G'+<@C;56UK/B@C3K"L 4 MNYWVNO#GKS@#P@?"Q\ND"\D>EY4N55H#2FN#D0XZ 73"T75"1N^TFE1"6^Q: MQ&_7]?5F:: 23K=KUF:R#Z(HH8DH$3T>;J<)K='.A-8<_3IXWGXKV(9N\_:; ME:?0+"4M=JZ2D,HS&57@I+MR9,3L4E18649&W]' ! ZV2@E6>#O71D MT7:;9D?2S/5\\_J@=5+'L38#XUMZ LMQHS3@2@B^_9!BCM3TYHG&?FOC9DXW MY0 !< FX!%P"+@&7@$O )> 2< FX5#^7BJ5\9@1 OKE^$++,DC1;Y K;(481 M_A(&LZM5;V=;>LEO:7Y*84]6IXEG4D3QB+R,^$AMP#/X MX9Y!!= M3R;89KV>^GWA!X&,$&('S^;[1U%.+\!801Y1/_#)S"/RFN&$4GUCUH>"HQ*3AC*!2%+[/(4C08 ';22;U%$:WTF=YT<.D@CM3=KI,(]J0%+7'N- MP"6.EXP#LILVR'A! [U##'1%LBS8/6\8Q$ 1 )> 2UP$^8I99^4H;EU.%7<; MC+?FX.Q(&4\9X-I97$Q7MA<7@Z2G"K%QAYX$=S9':>P.LQ.H0AR2!Z;4APPH MV*, +@&7@$O )>!20UR%M=#..U?A<>I<]IQ_)5$\HYW@[X*>LVS,2'LR#OQ% M-T9B'-QB&[L/M/9$[S[$F-Y?V&>@9:1EJ6.M[R! &@"O@ .U %P"+O%SF.W( M*IN=09*L#0DT@+63P=J66,^1H::+74.R=(LCI)U#OE8:Z4&/*'2$!QS%[JX. MT^<5%JT@3XO]^QE%V*%-JK$?(?K*3>) JR?+,D=!4 BQV.P!AH!N 1<:FI25$EZNRUV%4D# MO7VJ6%N+EM4'M8[8U25=7X\2U *U,\B2&L93'-+2Z/,03PG;W $$$R5&P M P!< BX!EX!+P"7@$G )N-1P+A5SO]LY?2)F/_=7S>>!3ZQIS+Z_P?%P> M-G@ZABQV37/]D"CD#9X&?O*&;_;&#^NF 'FG)XJ?O"&9O>&CBMVV>[YS_81#VXWP<,(,AF':*Z1H,K1AL>I" M[3:4JF@8$$%= )> 2_R4&.))J;?%KBKI[?6-:,#AR> P(]+# PP[K(^<9AU< MCZ7!>4".^U +E/HHF@KDY:Z#?2>B4/$(LQWAPT^[0/8=APP4.\$VN/GR'FT$ M/[/ 9V"Y6KYS^:RKQ:M?$"*_(,24Q:Y\H:WK*6&.0X&E[;Q&&1DESR/D"ULY MP"7@$G )N 1< BX!EZI,,>CL]B->S#EJ4!;U $R%YAI(:IN3W6. #P@Y< FX MQ* FET/<@9'N?<1RZXR2F/5GN M@IO IR\, X^,\WY 7AWBJ'"+%I-V U)E255A/[YA8 25T00NE9F]PXG*T,6N MIDJ&?G /$L BOUC,B/=P D6#GOY2)Q@&)AA.CW6"<@#E ,KA.,HA3Z'/XRL'1>QJ1DT(8*5G!0#J :4Y7F%[D>6HL"Q'Y53[ M%Y:2S=&6*\[FL RQ:Q#/33.:;YLUR#D[??_K-%VL3'FL*N/0,JF^D.*/R M5DU2K-'-$T.2M1/(3X7"W+F(^RW-,G#<*,43+:4%);JAEAQP";@$7 (N 9> M2\ EX!)P";A4-9<*'<-N9QSQ_.;Z0<@ MD=<,)Y3JQ27%I&=M#67]+$?C-PS.%&6;[(/](/8[\A*\ 6'K(*)YVH"@AB%H M^TJ_15&M=57:5>RG.HW5WJ:QH'4TKU"#IL1-X%*1):63YU1;_B6EH KHT!0+ M2=;6,RP 8EQ##!0!< FXQ$6(L)CQ5H[B[LBIXM[0!P6,-UYQ5F9 \ !T[3QI MV%&VGS2$G*D*P7&'G@1W-D=I[ ^S_#PA#LD#4^I# A7L<0"7@$O )> 2<*D1 M-MRVT,[CU+GL.?]*HGB&_3BZ"WJ$"O1IR/N.7&?@]]';C M]^Y#C.G]A5T%5>RJ4D=;+P +4.,::J 0@$O )>#2^7"IC #)D1=7C;_%]1R2 MI-+P"'I$H2,\X"@FXX;DJ,J2H]B_GU&$G7XPFV,_0O25F\2!-APP83/Q5+!4 M<@I4?AP91*T"BIJ%(MCL!"X!EVK8DEZ/,^VQ);U--Q>TATVQJTFJL5YW";:E M><4:: 3@$G"IJ:E$)>EM>O! 4C70VR>*M?5P67U8:XM=7=([G*2NG4%NT3"> MXI!,;C8/\92PS7W @A=$D%($>P# )> 2< FX!%P"+@&7@$L-YU*QN.E:FZO92,M5#CE\#O#B&5^[P3DYXO4<0 M&:+8-0 _IXJ?W"&;*M23+BLTLTDQUEM50>6G:L#!(F^M,0VOL5C-,KYV7GE- ML,\!7 (N 9> 2\ EGKA49DV?//GI;*]M_'ZOK><[UT\XM-T(#R?,8!BFE2$+ MFW>JV*6ME=9[& (.N<8A: O@$G"IAKSWC-+@/.ATC444]?4D'L#AR> PJS 0 M#SA,J]5KZPD^YU-!R'$?:H%2'T53@;S<=;#O1!0I'N&U(WSX:1?(ON.086(W MV 8W7]ZCC>!G%O@,+%?+ERX?=K5X]PM"Y%>$&&)7OMC0$5"8XU!@)]A>HXR, ME.<1'X9-1N 2< FX!%P"+@&7@$M5)K^HN_V(%W..6I2%/0!3[*JR)+ 2WRJXJR0SF&JV.)+%9]!(L\-C@6796!!Z@X$FX%+P"7@$G )N 1< M BZ5E&"5$;Q(\]^_!E%$&R3WR6]=/R'D&,YQR/8Z(W*'EU *?0]"MOD9ISV4 M:370;3V4"YO>;;%K=22E#1T]&X9%T!A-X%*9Z3N<:(P.<=8-2>E "L\)8S$K MWL,'%A7:8D[6):V]GJ9Q/GD\E4+)V@BES\A#OHT%% LC/(_Q;(Q#09,E0955 M]9"2/>,@='#82N=VJ1$..$%"$"/0*2VOQL'\DC(G"CS72:_P+(V;25BP.+:Y M=A#\74TL]JMA$DHNSY[M_56RFU,.5CD+RM2^X9&3W(?*$.0IC(9@(\11'F,+:P7Y:H]MG5$0Q^3!Q?>3;+KD] MBLD7K/[6Q=L21L4)TOUE''[LPE-J> E\A[1&\W^O?_1A)Z2([ MN.E?"+V;*V'TX_-H<#7HW0ZN1UMU C=3&-Y<7=^,KJ\$\M=H^'5PU;LC'T9W MY#_?KF_N1L+PB]#OC7X3OGP=_L'_?#XD/B*V'EE(?\ZCU0TF]LS:>-6[S+PA M _;0/,*7RS\^.6XT]]#SI>NSU[(??5H\:Z&LJ;)Y9]TPPJ277_70A9SJHD7Z M^>+-B\L7[-([6RV]9FD72EO9>EF^V'YMUV,5Y4*7MU_>]=C=UPRE7ZIN6K,,O5=&9O]-U[+[NS-L0-;FTJ9CQY<3?D&^$;N6T:"==D=7#8 M2OKFY,$;3R0G>_APZ=D#+VG-6]?.$S5W?6+F!PEYJ!.M!9E5\8T"5 M5:V4V6Y-CCU%DJE%Y*(!%88[^6P/6F%XX@6/D3 )@YD0I*?2B/M, R"7' /MG4D)R' M 2UNZ0CCYXV6Y"4?AE5ESZC!W'GGJ;?H_9?FA67,W]M]1P++%9Z'1(Y3J!#/ M6T SNN7[G[?=;XNW >&PF,C1[8E5VI*_/;SH]--;(7%AU:J*74.6E TE91MO M: "PX#!\S7,@:[0=1'%9FIK#.M]'U]2K MZ6)(YC+!REA5F?D\_O.F(55KDE%1C+4$XS$ M 93RZMR2L&1!,U4>%?!W&KB**$8(/P7\-,R$IB;\$X560C.-)XO7L/:W@-O$L)<7@R8X!*_CXNPD[ +6.&5J-63U8\8+E M6ZKB'?@/V(^#\%D(:&8]CFSLVULVT<%8R:EJ7XCZ1^C&^"IX+&RG:++8)2:O MN5Y?#TS>DT%1=N7R@V&DL+/^NLH1C$HR=]F[+:8Y.(6+-QM#5#]"0-CT(5-#+4*Z4I36(8^E>,JFX:A^LQLBJ%942E,M+I MK*M::*Y[$FC*4K-9<%I'C"9V=>M,.X#R:,2^[*3+)6G=#(P<"LW<(^*,;K5UI%4 MC:?$FK.Q?AE8^E/DWV.BEH4),4>BW@B06/!>-7<^-G\_+&B[1 M&/Z<1.3Q4=0/9F/79YLB:8^K>^([DK\BUUGTN>J%(>4&*Z:1,F;@]V8T7#>< M;/G)UR5[BEO5=--.E3K:P:XGV-;\8C/+M*X%G#LKRFO6]HKRC8]$-V158#$1 M=MHQQ'1)>,EJ?UD-!%89AACT<4"->?+1QNX#JU" [D/,8++7BM%8LZN,^,GC MU+DDEM3M"S%[2UJ^NL"WKQP93EXDK+#V;]/PM;GAL$A^'QD,>XX1MDWQ'P*Q M=11UJ)/(!X0@26-IS4?4G%\Y7,3"9.R@R5)]PT&CHT7=%.5"K0T/R\W^E>7Y M'(-N96YMK ="ED1^5:E%%V-=9JZ8J1U2\1M68XY!E:,%=OFH4L2N3AQ\>3TK M]ZP7Z%HU\C)C(+MHS-F'+O;?_E@A"5*GT@Y\;<6NSHV3A;I>=%'!OW'+Z/@667-T)QAJ+9 M.ZEZZDJ=?O$T^8.@5@^[TIJ='*_9V<>)SYXS!S'+U:VU",1;5+ /RJ^Y?I.F M+&Q0Q&_C6P+YTI1&Q:2#?E7>_XK1K3P3/QR^#3 YH3DXI=3C?::%-IK$G$\Y M PBNDS*]C'DK P;MF?W B M-3&5"GYX/\F1, T+6AMF-Z/I8U_W[3W\.X*^0[S;T^.^O:HJL,- MX!21>P'_3XO?0ZR;N9-W<*VNH#2U-8&OM_MFM[ZO O+3F-*\1ZW]K>+D.GW^ M@$C9NKCJ(4YFO>6GB).OKT?]9H.,'.^)A7L?9%0EA1Z715R/_HH=7B%/G2R, MH:CP,6D( 7Q$N@!ZY.@?#!Y_ @)&6\_"WP;,K@HWMF[A)LSF1_^:PU+65[$0 M^.W=&&E0?&.79JOMBZMNHVLV^KLTPJA<<.++&=* [T@,E;#&KOJY).DLM7/Q! _J+!N#3[[5YT3PH6$.W9Z>Q,JR?J6 MQ035KP#4!X#IW1@^L6.T)]EVF7:=/F;:M=H[)W54BN[I8M4&C8OWC598J6SV MZM6@I9,,3<0A]8;;QB>U@=ZRT9CH\Z&TO0:@U[B#;^6%;.\.[M8OKKKMCMG, M:7);6MO9^"K/2*U^R^BY<0.Z ^)G@[K0M0=[B%@?'#U?W[CXS8(5R1R^O00K M-M74CKG&2ZL'Q\@R2QEET9093HC99B/J0>CZH*%$+)@!AQB^L22S ]EHMP*\ M=^-O -Q'@.UG &UICHD-N3L=LY[C"ZO*.EX-7I6QTC9!K)5!B&[K%;?].V4> M_(/-9:XO\%Q08 +_&;8>[HD#GZT_8Y]AX03&.S+>=C'CK4+ IXI)^^2YFV'2 M:DY;A7N/@P?H[9JOU'AO7"L,C6L P&SFX_;\T<]*[]VKWGM#H*5QPJ6Y+W;, M[@[,?J]_0BI*I?:>A-I;B%>K>?%K;G9]RKSX7M-Y;3F<)G$RC7!0?*7O[IH& M>3?^*D%Z@Q MS7'[%U==L]^I^F*^4CS:-.,QBTA97,$([QMNT'.M4$Q5>*3.OX MZ'ZQ"1L+FYV<\JXWD;QX+%[[V<'(MV=CPS.'!J_DN0N,<&H%;.J[-@O>9(N= MP^BQ"O@[^ ]Z6*S;-)L[E<97ZNP)H]/FZNQ>\*E%#=#JC4KI?6%&'$:!,XP1 MTB'RX1F;#7?CMF]#2UG#;76X_F;9[-'_YLR<*&DEM0!B@2,NOGV[^8U CEE" MJ=NX!\E8FHPPJ-8R!\T3Z5A2:<!Z,I M.BG0^TOZ*49LJRWM$J1ZB5'OPNO1E MCAF#DXVW%3R?*?MZO3N^N2BH.WXM,A5>VKZ/H];'S7]?L=G8NLJN*? E%F:T-H75ZUVV^PTJWYFKQCE^MU3PKD.X%P=1[!D MU9:JOO,X#)QA/]\BUGU8->N$H$1T];?#'?_5\)-#*I>EV4GWXJK;,GNM?16] MGHLE5)%E199ILNSV3HDN>R#FFW6SV]S7;.V7,N+D1L0]#(CJ=M1),Z&K@TGY MW;O.:7!N 21M/\9IFLN /G9/NBUV^?H2P/.;$S[$\[E+@Q(MU["=<.3Z81PP M-5P'^Q8:CL?I&>BQFJITQKZ9>CI]"4NOX&(QE.#/&([$S68J[6P,G]KQ-U<. M\D[X:N3_^HGL@!*/B!&8#@XX4UJF]WDKVN[.?MG3\Q951/$ZB6*#N?&[4@6- M@^]U]S7BM')G;80$-TOR+F(!V"Z[5*:\,K+..^&K(>NULHZCPY8D/:"&%(W. M*^P?7!'$ZR2(]7)NB2*R2-_ ],9])<>?8U3]6 G&WWWODLPW;;Z,9^=6G7RH MI@ILC&Z]6J]SLKR+UWKBOR_]\64<,C'KS?"'D04/TKPAE6^.*HX'KZ3F5? ( M[)Q<-YO;]A5[/VOVOJZ#-RY[-_X]Y//'[@0.W7HR&>NK']S-66 AU&;8S*Y@X M'B4H]-*H/6+HB]GW73?J&PF_QRDC,4<-H]"WX/D1K&X%\+%';O1)8+D@ .J M>(ZF# Q.P &;>=@- _Y%B3=6E#2DA\?#"#Z@=BBUM(-" XC81ANU@[D?.GA[ M'P+F6C@V^>.S8T=3B9#:KSC(/]23GUA#V$$<%?_D5$#=7?+5:/^+NT7,=D:C M7JLW[K?'XWJCW1^UA]U>PQJV6L-VN]=MM-O_K]6^D#^:JM2DN35AE\. 63\O MK3$<\(/E/EN+\.(?:0P$]-.!7@0O#5.[:M3RU?\,@W]<92ZS$)+C\<$@R6D' M>(,?D-/C Y S"_ IV*MU,GLQI@'RR/]:?Z<]($/D&C13!]DKU7):R[E;*SA* MHWD4EE(P#/7ZYO'W!Y,SXMOO-S7C^OMGX^'W3P^WGV^O?]Q^>2CD":=RA.]W MCU\>^ $>[XR;N^^?OWQ_^/(9__5P]^WV\_4C_/'U]OOU]YO;ZV_&PR-\\-N7 M[X\/QKO8LV(;N_&]/_E3O@,3)YKZ,:QA8];_KQ$#T0>V$.\R9P!7MTS##PPK M-'S@_,&S \S? 4$^LO(/N"$/ZUUL@,Y")"=#WSF".RAZH@^7AQ@#OR'<&DJH MO?S;E\!2KW4(#%P)^A[/8,U1UII)*V6?K- )[\;WH(QA4B#RK6O/?@!\=,9P MM5YTS>U>>,T]"/>1P\)'6.Z32TW,I ;6Y;J@X\7,OH[$9_@R!MK:'-$\B!E: MUPR4!WH)\C>*.SDSXZO2%1Z4KD &^!TBFG$+'X52MQ/'6N*'\)UX/U]<[0OV ML!U EHZ]X/^;<_3>\B%7X/'A<)16_(#JM3/: &OID'@%^KT7\JA"=#THK_(=_1>/K$GU5X.,-F TQ,#^P2FK&.QQN MU:Q_Y!_29_1)X^-[PDT'7A3&P]"Q'2L JC#>X9KR1UR'EC\P,>>25T"+EQC\ M"?B=:7S[=K/\-O6M7*%F:/LPX$26@8WR^< G>I?Q//4Q_N.Y"P.,)P I (7B M1O2X1]ZL:*&R8>CX#H\HPMG1L L3 .&G+N\D"_\5_DSU*KE&B !>WG)REAOC M=URU\ P(,+@!!OOUK F^DK>C3NY"6Q5A[I.?5?R!=!SX+OSANL(<,89Q"&@2 M\@>L\=AR@K!P-;1 OY/_3*:@DTXF>;_9/G209W!JP!8Q&YDILZG64/\ MI FJ\L>+-Y9!+?R0HS"^S<.0,#^\BT!3-TH&$Z/Y"OA"?%YBMK@*M.@,_]GC M30RU[9J /LYH"DL 2."-'F\Y@GG"5L1[!9-6"DN+ 0W:[B5M-'H?P]S)#B;: MC,:3Y<;,^-LJE\(]"QY0WA=OO7S.NA:2SYKT5W 4D1^Q_XPN3)87C MH)[P[O[%5;V6D]:@Z3T*F7..E2#V%ZXNY>M&J#4%2'T!![O@/7@\DY WP"EN MS$.X WQ3G, 4[Y"?/K/E3V))7X0EXD,_#N2GM#B-W-"04V)9RF1/(?:Y"8,[ MS_C*AD%L!0NCV3>-9KW92A.D)&S?(^-JFR2=.'X@>;_8.;Z- MWZ2'[DJZ27C"*I;M)I>KR/#1BX>C?I-7)%Q$0X!0=P@:&0#S$Z/D>2:F;><> M5K]K]7WZ;C2I603KJ?4$.@!C'G(]EXT$Z@*MI?V:)7R6R;1C+)7"'^.S\K0Z M'DBB?P!)P-685IV39@T^8\9W'W[7I'0=--OP-_ FK=9J67YKBY\=._X*".L_ M([ARR$5=&&@=C!!#*'9X687J0<@F>",KXW.::O \M3^ R0?W<#?^)'CV U\B M7; *1QQAE.$9F">PJ#P]87!Q%3W[635!R0*QM_ #&51447?#-31"_X>Y[[ND M/SVRT=2#.YB]N;#Y M"0-Q =)E@=\C;0FSCI%*"W^1LD>7]\KH:Q* 9R9MDF-_D"9 MIPW!^]V%F80WUIS-]DFKYA8>(SFH$S5FYU$815J.Q4MCT>:"^T0E">.5 M%!JS,(!I CVXR 2M5\4U3)08#R 9!BBH*9K-- <35XN9<@&(DAWHLE M7"46.=XLEGY"YT%DE3L#L$L[Q7E24DTN"7((D(K]FG-)*KA9+V=>OT?<:.=6\FE2UX&#;$)(^!"R M/50FB?4@]R4)/[-^ MHA'OB@.C()%>ZD 6DYFXMY9%,K0J]-HF4KELCQ&;T@ M(W_B.4JQ3)>P\S1I4VFU9-9QOY<)/WUB7BQ>BT@-L@MHZ _8'Y ]WR3G^<4[ M'+*1A?G8(U"F+<=+,7K:/9P6OP=]UV:8YD!T[@')(+XOQ&P=*!"("Y0 M-48QU_JX"#2F< _PXTG Z$AP#R-0G7 -5$2M)\OAF@0&9%"X.,*IHQ@0$(L, M( X9P@ZE A*Z]JZAA7+;]Q+Q,P.9X=M2,P'CPPC1^3/"64-F%BYP&-3Z'5PP M@+5M9SS&/R)D&C;8C( ''EF8-F$ 0IC]8L$(=Q@FT07CS]@FU0F%;Q1KSK$1 M"35<%T29=&C"FY0^O@:/Y$UP56&>CCQLA--KV-L_EH(.9:)>[?IY1[V:YQ[U M$HH[F+%#N'F\OL^*DV2"/)UZ(Q/?@L^R\:W$$KU.+)[5D:O3%P8%P34!@!RP M-/.]<2D_C&X1(@4F7IUGMN2(*S(>\RP(?!YY3^+@=Y2;0'/J6M5)I>IVAXU:-_ MS7U[DEA8^,_ #S?L]M1-B ?PH=MLU+*CJPS 5I<,+U!D Y*:L"=T3\U]3'Q! M=BPEIQ5XEWX<8?:U5)[C.0J;3:.H$MO$7$%C$G=2 M6W3<,9* M-1'JCC$)_&>D#& N6$*&DAMD/1JABI)("1K'9/WAXO$^"/&;'36C1@0 MKIV8&_-X",8_0 +L$9$SP>>O2GLB+T*<#J']R_*X1D3ANJ$?!.0B#PVZ&WK+ M]8P[X:X_?3-N @;JB_&5A_(6QCL+K$+O/5<,<$=[T0+0;2X&F,V< M,/2#!;[GVK.OTT_ .]Y*X#HIOG+>FZ+_.F%N4(\!"<2+@PI.0P*%((=N[,(8/9 MB\?X7""B@&)X)>D*Z&( 2YIY +&T"6=5+J)V)/O\,C%!%9EO^:NX")R*J $ M12H@2$DF8@M&4'-'"C!\\%::Z$NG"O[D/"7Y%K@'8 MO ^JN/JQ[EE%AJ"!( )-G5RE40 7CQ[VQ,O@@#V $*3<)?+)NPYLPR;=_YFA MSYE^JL4#U:NUT+:T#>"'\#9KAJ>VN/=71Q G% X?X3<3+ENNMBU;4MS?0TXS MY64SN1$E0KQ\+7PAA2?"99>-WQ;[6OX&>XMT,$"J:IX[N$OU[ 3) M3M .9LZ$Z']&]S3YSRF+B "8$X-%1W=!Y5MAP]%M:# ?X4M4R #('O 7 MSC4-191)18!" R'1E_:2+T&+J $P?8Q<"NRX&0_Z:(NZ;()^"YVR MN>\$_;"T*I,^UH#)@!EI("&C!$13AC/Y0S:H\PXP*AY2DA+BX9\D(JZ5B) > M>,G=TJEH26 !4[6(!&O&"4KSPL!007FY9#SW9%&G/ J9C/;-W9D/HRFS8Y<@^R']\M)UP[EJ+#XY']T(_^BC6$@X-M.*7ZF,)O]PJ_KM<:6WW4:VZVZ:K.-=JW9:V^T[)IF&R5: M:VWQ:$ZE/?EZ+ICT.1T5@N#8TT1.J9/#AA#=WRR1 MDVCRL.&I=Q"'F2X/^PD?J>X.G4:=PD=FIUXD! ]S96^W,>6&2 ,&T0M6HY:@IDPW$/_KK%4Q%P-'#P* RFA3XMHH:PB MX6'#:\_&?Z!66IK7-+"W\Z"[<_O"JEU[*?3YJAQ[Y+Q/,9(HN>Y*N:F4F[/A M31O:^AKSH3R9GMGNGI&BLTF+JTZMV7D!S]$&RD%S%^7@,"K-AOZN'[* ,DSE MOMI:3&1%2$1^?@995!D76(,2I5;&'?3P638_;MNQ[X0P$;@1GP^9P%Q%,PWQ$> M^)/'G_3XHN/-8\PP3_I-6)0CCZY] TOLUB0UG[[G]X::[JJPP8I[26I;L626 M_15K\>T,A^6R((J=/9S,)2L72JR7*E+M7ZCN. R!%) M+PY#K4Q<%F&(CS9"7YGLTSC)*KRR(3"0NPYP2+R_)6?NM>OZH[-L1;1MN.Z' MXCBW> 1G[#";VHR',GH/UJR6%M3D1-_I#AF%%@(H+=E>-UO65>A_5$ M\*]E,/]3O/B>F,:M8#:?Q5M+,[8N-HO)Y@RG W$J7= '#9K')S58+D,N :V5 MM!%":,Y@AW' 2Q1DZ:9>G9H;R!\EDC%'#8KGN#WE:@92 M+/"9U34L^950;S4QNE\E1E>)T1LE1K=R$Z/;Q257Q,Q/,&V:,RYJ]S,7#<^P M"I0[0BAU+E612Y6C5,SIC\1_V&_!4OU9_])J1"CEV?=:D0-:U@5&! M* M??$EPM;0'NX?ALU:C2$D^X_%%)TTM/ZA8":]Y._92Q:Y/DAZY XX_J5UQ M::KL U7VS%Y[YZEB552[%&+=)IKK(:3^1F2YJ090D>6F9"EOM>QTOTYC<'$U M: =5N+Q93&)I@XX2<\G+5PVXCQ65*15PO/54&E*>-(8B;+DVJSC5+%FOU5) MS1>FUCS_3B5 7PUIR@N^=W&Z##EB"[>03K%Z\O ]B34^V7IJ%7=H4;>)\>+/>S$[\I?!L8W2EV]W9?71ZPI-CU^#$Z?21.K#*YD7BOH\M/'>H M3WJ=]+MO#3C]B&H++),+2U-Q!Z,Q3;/>*FH =()5/J]< (M9KSC(:H%844G> MTB!\=ZJB5SB"]2_$;=_SRRY-P%VP8=MFKY\M<7A_QB+XU DTB-G*"(Z68'AL MD5R1[R')=[M@3@^,VZ[9;V9S(#8GVLJL+5?43R-5F' 1^T/8$6^A6HG75T2? MO%"$O,-WZHKS*+!_<37H977>2F:^4(RF$I"OD@ 3KY+V71[]8?91/>L[JL3? M@3#F?< M$3)OATEO&Z]OM4#+&S3-_J"HI=D1[FV/+3M7]NXYT6Y;UVGU)SM(C,M2/D)I MY90NXYGE#AW+:]L7UHPO>1_S-;3&C\,%CM^S)F* ,^]L!WO!MB<NAF=!S M1H#4.I^(]HY\"9KP>XF_T9NCX"PT!ZXVC$+>76NYC62(4^]MWG]%[&AE(\), M-G RX8E^]FN$8ZNQ*1U-JJ1!9M9HRF=@BUEUO D5AG:FSIP'9Q'[77\BFF"J M!WE[2CE@*@J<88REE-BZ*IB(N"YO .@Z;,R[:07^PG(!"&*>'+4"#"P '= W M_],R40!%WZ'A/OON4 M='^$P[I.JO=9F -PO=FF;%B(W2*!D80&+!C/5.<:9X3M;^2!L!TG_,FG?/%. M@W8\8B9Y#.67HA%7B-A"L[92W3SA"2L",-)^Z -ZTW(;+]$9K&906Y(Q-E^3 M.Q5'%Q.\7*T#:=[417:I$X]:HV:LSC#GM#=V<, >4.J3&/87QL,_:<";;U@S M'&HF&Y,]\7&"*4($M,;!D?3KDQP%MGY>E<8S-':!"&W)#*1 U?F;R8Z: 4>O,@)IW L4$UK.!MQ< RX(-(5K"75P"HD\"9"NX M9<2*< K/8Y] P=3TGGEI=I5^FEKNRHZ:R9#*!&G$A#I.>J;AXDLYO8GF=_(! M$,QP1C[ SL#^@+XGVR*.G8@Z]3U3-)NS.FR;Z.&"^_E M8#2SD=:3 \7D$K3NNI.EKGJY%;+B*0&;N]:(]S7$98WGJ0/"1!N/&1I3$&Z M3R/JYJPCY;HM.#H/&CN_")Z<_:2A7##(7FM!)J0<4M$0&_2J=HO44Y'XN^R> MB*=04E$[2C(QQ%O_"K[:H:A#U(_4@"9 M,U\,XL7)S'X0RF6%(L35-FOY_*",I.&SJJTZ&68O^K]3>E,#,2<\1 M\-#&*\/[E>+!U08_#@#A%0(A+;/7*KQA'3#_,?9_/,7^42BO",F23 MC=L9GA)]/^;T!4ZZVSIANJ4PJ?](3,.DU_=2!URMI[_C<9.=,&^(C?P9$O?$ M"GB#^PVM0&-=MDB;.PK,YXPXWT=@>OU,B 6U*4-S@"+M,'-IDOLEM M>B,B]CK#TUV'=V-M)/IGP,BRTP!:6(Q;*^JHF)IR(JY7M?HFTYUQ8Y/KW^2V M)(,7N^M'*?TSN6-3>4>++F4)8S3W&G< KI;D->,A-29'\P9DYSL0JFL6OE3X ML4*'OY)[%"/T\HWA$AQ:U?HE'(0C7YN>@M8SZ"$$CL6<'$_DEU F,@B\Y:D% M*4V?(]FR-HYJ-KJG>#-QQ/8;U+="<2..TI 4+*V26-G?>1 )2<((^.O MV HB3J@T82?/@@)>SDL[Q@1JS7VBG$IS5+C]. 1+6 P803M8J?8N^2/U&R@' M_\%JKJ# _H77C7WB)^63CV+@<7?*[KQ63>?OQLO7H48BE;Z$[L55NU;40$X; M8(;7(&K;MKF&!/+B*G*)(VU>298 K\-?Z($+''-%P03-[R7\P?P[(;PE*2;V MNCX'Z01%>TE]Y3[P^863+>1AW"UEBY[@"5>>YRL*X2-,XS\ Q6]$Z% 5WE^3C"/J+$V/6 78[M2R^9IJ MFB *!/2A)1)JOZ?\SB+.E;YM/ I=VW__XJK5SF'J1DKAF*_!6SY]:QI-G<.9I:&#\VL[!&Q[6$3\ ]&+<$[G!3YLF\BDG.TUJ M:MF&/R+%V!8#I](SX)I27;4 26A4H@*".ED^-$2X&\-34W2(BJ OC\!IHTA( MFTZ<4JF I>3=VC"FI=F$P%GGE_$\-^)NIIU=(E*7]VOQGM0/;+S'D9/>R+*< MX ?A@:2\]IJXX^1]IAHE19H8Z#2:76#,?1?5.?(Z% MXEB+@>5C+6X$-&O 55+A:/,3,64,5W@2\6>*U MU:/C\K6F%NE(!1XPNH8S&N/4&=2ZO<[^!RXU:NUZ\=?;3X?JU\]HLP<9986; M;>YCE%6)K/,5^> \+/$RF;F#)4NBEU\T1TK=;UR7^X*Z' 4-4OKQ45.\*9 MDFDV<,"BXY.#P;8%-6^G9J91;VQ6V:A93Z$TGP2*E:VG:=>!)'MML[^WH0V' M+9EYV3*WBO#>".$U7Y[PP&CN]SIFN[?S1*.*\"K".YU3ER.\ULL37O/BJM?M MF/W=!W!6'9_WV$2#Q^%4@HWTV/,<$1._KA6:6J^SS]:+Z8Y;1$$U>FI=7+5: M9K^_LP*YQYY952.WD]*1=D.P-C9V:IKUYBF-VJ@P[*24@=TPK .Z>,ML-G>> M ;'OMG^J.42F-F-5S08>:WWV.S+N]KR1?*G,IY$RI]J M*7W@Y=^^!)9ZK2-#I)O'PK_Y\/KO?L3"1^R?<.WQN43::/G/3CAR?]E*M"Q 5A8'KW.:3=_8%9 MT1'#FC=^:,RM%EEM*@??0_[A8E5Y"\-W M7 +PQ J-+_]MS>8?[REWFV 5I A),S?'DT^+'B&0\:1'37QBVC9#E>'"/3]B) M0^NW@D_SVFU\ I MN[6LZI3*L2RU]\Z+[9TG6&8[/QHIF%^8<.=2&R M4BQ9<">76++H1X,9^TFC B(M8DX2RQ,>HF7!P4^'E$L4..%/?!R7K(%!+7+3 M>=%(JIICQ4ZH0@"+I=.OPUS!T $860%_#[80@ML"P(2@XX1)EI]J/H20,N7B M/$L)5I];"\J Y"EW"^S7Y/T,XGDT6E"Z>ZP7N,O"_9^>_^SA0<6WF#1*Y4^\ M_H79^AF0SV!KT#("Z7';BF1FH^!?LFQ,M9((92*N M:/239&FI'@C)LQI/MAE#GAA[F$6%N$Z<2J;&(A.= *%T;J;*YNK]S":,CMV MV=V8:P=<.0!MFT\2 2AD*9S**7.4E9STO79!^M[8QR,@C!VJD8 _9;6>**=8 M=<:]I[>USRR]K=VJ=?JMO2=A#6JM_G:I72^?,%;MM=HK['6P&16\T9S!3Y9+ M+!3T DJ'^Z0E&=,']Y1DO-^TK[."D*A2?,,0^"/ !H'^>/R&8?"(A1B\'8Q> MPO&&(;+,.;Z@.E[(,]Y">E\FP3BG"F]O0>6WG@OQBM,A.JOC'\IE"S;89S\> M1N/8E59B8HJ5#7YTZA=7#;/>K1\Z&^*U9")5!/AJ"7!-#L4]>N"P7UT. 98F MN\;%5=-L= Z>_5>1745V1SAXJ1%C:^AN,\%'ULK=>)PW;K/3!"&WAVF;%955 M5'9*!]^-RI;:8SU/[0]9LM*)3P\$B,'O65+#"2U99;(BM8K4SIK4MH_NOY0A MU[ZX:IF-_L'3VO=%@&\BLWV]:ZBXM+K*">UW]T-)66+I7%SUVD7]&*N$XM> M/,TU;'BU.9]%F2Y8[">5(ERAS-YUY'4XLP=3M'=QUB^G0QL@"GE'?NIOZP?4+UQ,J$!:$+,J;_#;O$Q^6,VS,;N->46;:<\OD]YS!\_$SA6%)96^;C/#9LR9VM8A,32E5OY 75 ML#DCGN6N!IN&3\8%G&)ZYE9HDA%3.^C8Z%P M93BK >D:2V?C8#&'M"4-ZKET,TD [ M.:.2AEZKUNAOEUS^NIK@;K:A-YK0GN[GBDKFAMTY7RM 9*FJT6HH>+S!UIOZ M(.PJ";>*W>X8NU4: "#6;Q*ORH9JN\V+JV;+!)OM7&*U5;)$17#'R7K?#\&U M*#>B9R@;_;WUN3[A'3Y"IE*L]3=D*D'R-1IFMU^MB'6 M\9!I5T5U8PM1_$YHWL+UW()=VWZ,CFR)$6_6A-P_@%X/@6[*[?\9;-$^MMO' ML48ML]/8.?5^[W=X9+6[HN:*FH\G;K>CY@'J; VSV=]99SL9:CY\+^F!RB8[ MR\2BSIDG%MV+,>+WKN5%UY[]14X27Y5HU,M)-.KE)!K=ZS/*USI'"3,EJ&VR_"Z&)-8:.YR0/D< +]19,Q\GM:!O2OOT=&)3V!^ M7D!=5&EUE*RWTE:2=5'L[)Y^&LRK<_J$#]!CP^'^NKQ( J,2 [$&A] 6^^ M-K*5X=>C'D%FN]T\ER2!*BFGHKV#T=X:)\N>::^%X>)6_6Q([Z7SIKE6C1J*_I7K)G&J(YB0USL'LKURI_YZ31:DUY M^)[1JG-QU>R8[?XI8=6;L9A^LT93^#!8JDVOZ;39V1RZHD]55DT%Q-!GP4)_O&K)#]P)?C2*9S$U)+F>^0"%_U#HNRS;[=$;Z]<\6URQ3>=CE1IOBN(Y47#DWWL&=#HF$ ;)Z2H5*KO_M'J12-O?1S7 M,6B;]?XI651OQK_[-0X %S"QDUJ5P9W!OW<)K;T51>5%0VM]#*V9@_HI:2.5 M]KM_I'K1P%J_@TC5ZYR22?5FTAIN_-D\CE@@G+S^.'JV E:E-*PED1<-J_6[ MV+:GOWO!)=4HYU4"[Z\.[ MY;">-WUMZZ: ?Y?Q]WUF\P!>0_X^^.E.[K_^Q56G4S?[S7UIW.>2BUWA]%Y* MP$\1IP<@=AI=LWL^./UFK(%O+ P_&-J] W(E%_\FK8)20Z\.(V$.0X>#.H[Q M:YJ#058!K.9GO0Y\/(QT.! ^8JBS7C<[.3WBCH*/E2URA5-7*DODQ2P1'(GX M AH;?_9&ZXQ![4VI+T9IJFV"-M?L@85R-N.V*POE%"R4<\1U#!&#Y5+O5.69 MIV:YW!3T^7F3-DLIIW/S1?/6!QA![IFMP<[&?V5YG#16[3%O?0.LPA!RRQRT MNR>$52=C/S1JS<[13(A''_,H\XT(T3IOASXX5.?*X)OF3O/B MZIS;-'?/O$TSSOUX=EP7M,V[ M:,H"(WF-P=^S5<=F_K*<+30OSJ&/LX)+@/PGQ.95?( Z'U#NCXUY'(RF%HT( MQPGJ<\OAH]AYZV'+"<3D==&,&$?,\_[+^(DU FX8,%N-5V=AS5#O=$+#\^%Q MSNN8;<)CD?$,;\XN^[">)XRNCV'1M;C.'-&GLJ9'B<'K< WR.DH!.SVQ8'DZ1C))/#DM-K>$M M.#*=>E?S[='!PY":-*N%1P@L:^BX#M@Z\.E$82)!2&N!BG\R:S0U%LP*"%$! M, #C *PC6!(.#X=@3W1'^.W("4!\A!&*&-BK9P/W!)C1K'?UEAE>MC%D&JBV MG? N09Q#A8,<$AADJ? 1;X!&TJ-#3MV%0J $-BZL3T"/? (POR#>AII-J,F: M82=MP#U +H"6%TWAPH"H;$/UVN42KU4W#6RV:SP#V.'_\Y[9X;8=L_/(MXA! M#([00GO0K74ZC6TZ:'=ZM7YSNZ;4:UI=M]N':'7=;W>KS1YHLYNA0[[+K'"1S::>O#2B;.BS\7K!P@Y0X_:\OP8]O\D>G_?NP^SF_(Z[/N\*_'H]-HKND=(S7=DIZ7;KU^<86)+SN/]BUU,^?A M=:UHZXW0UIH^.?FTM:H16;?>V%LCLHJP*L(ZG5/O,0RQM) MP8G3Q%>7_7J(&'.Y&S5T4A4W59;28<37FH0 %:<0GFT^B_ >=N;;941:ZQ1[ M:U;XM']\VI!OK\>G#7@Y9E(.FF9_4'6%>-5(]8(HU3E%E%JC!L@H"FR6K<;" MM_'D&_,HIL9L&AN.V'S99+/*=ML9-*^(G3?7=.S;VK;K'L2VV^G>SL.G4E%M M1;5KJ79-2\2MJ;:W-Y6KHMN*;BNZ+57PL375]GFOBEYS7P.ICDFU.Z1;BV.) M^VECNMK)U1Q_*?FZ M($GXPPY9P%6>;Y4Z>VZ;K?)\]Y/+R?OTWOAA\6R@UP\$O56D7L7XAD&"/=,R M6/$6G/(W<0@O9UB^XQ(2A%-GODFV=Y4K5>5*[>2;6S.+X:L#OV;?P!3-5)MN MTVVFVZB# 0C6?ZM>/XL\JHKJ*JK;?V_975YVNK4]HBU+W6J?7'5-MN#;*NY:A[$R2+9 M2^'8-AI#!UA7T^S4W_*$N6/@Q&-@V0QO]A#.MXWHZ8T,RFVMZ9V]=V6@>W&% M#>CWYG@Z(>/VE>-5.65@!\0J5 :RV-0#BZZUR[2="HM>*7?:1MKW@3=US'IW M7X-@*B_ IL4PHY]@^5>&_X&I:4TAWMYE_0#K.2J[__S0JJ2HWQZO]F3W-^M% MF%;9_2>+9"^%8QE-8&6G@^;^FO=4-G\YFS_36K JQCF1D&15C+-1,=OX#>VB)O:*N9G?JV;?Y/1=H5:;].TGX9RM[" M;]C$/E;]ECGHO8;.%>E:6E4YJP^=./U*O&NS)'B*S;&:R[=)XUO@K+H<,]BO.?-" M/@]FXA&XM/$ET31@C&:ZE!MD\K=R)G^Z,V\G,^F%N2Y6DS(/[@4',5W;,X!3 M& 54M/V%'V$S8NXF0.I>7+5K67W; "QU<<]X[)(':1_E(-B7HUO+!L?D24RX MW7#.1O@.=V'2P?"6\,X#FTI3C8=__K3XENOU-KU@?G5$C:VT@IE?J M]K(AG>7E"A?O0!2@6/L_4F)*ZN0#*JP95*'\E\4:X!WM*HY_/L3V'=9]?&;N M$_N-M/BR=-:J4\[,H+\SH571LK*$UJF28\^'T%"(/3[[I>FKL2_ZJ@196?KJ M5H+LS.@+_5*E*:Q92;!C45BODF#G16%?_;BT*=9J52+L6 36KT38F1$8/%N: MP-J5!#M.QN*4!8SZXE9R['S([!HO;&M:Z_#.6?5VML:\DF:GF1Z\1IRM^UV5 M=718T%1L:JNLHU9W;UE'>[S-(W3P1WBL;X7>Z5RLCLU3^I(XRB62)D7G4^'Z MRQ?):,HT9:6,IEY-7N?+OWT)+/5:1Z8M;)[?\9D-H\]..'+], YR4C5:O6RJ M1JN73=7 =5:G7A1D4_#%U//Z/M#V9,+=LHPXY2HSQOOW]=OI)OOC=Y M9,$,0;JV0BI)+&KU+ZX\/YM69,,RAA]'(; VQ);53>LIW>@S&^E?->BK9LT0 MARV59K4FR>H;BT#M"^_&-P&SG>@NV2>HB+&W(?O5H# ]EOK%.>).9[A\G-&X!%'!K?OMT8U-R:CSGP M#6M=XF/VUC04Q?_F)CD^@V0*F:>NIEV_N!J#E+W$S,9,NB,\Z?@!_&<4X\8H M._-R:(7P[X ]^>X3WHVXKK$U-[[;IFXC5;J7P^PYH 5"AE-(Q'T]0Z^#"@3AC& MN(LA+$,?ASA0 N$N'C;>80X>EBDVZQ^O/WTS.%(;7\5^Z9O&Q_<\@S7G 4KT M&SL!7!G VY/9?@H7 0_K].9YX#\Y^#5N-YX;<(LEDQ\[:^@23B6)4N[N-^N7 M,XMGG_P@H%$:-]8$%8C!?GT;6)G;G;5WQ+.21WK568&\GZ<. M$"==[I/EN)2$B1>+:( $2N-;B0TL,?G:N;%O0/6O;!C$5@#HWN="R,3KABOS M&+]+8H!X]-]8,&&!XO$W_@QV[#!,C0V!Q=KT$"G\G*/Y0]#V>3-]FD*4B : M++])X###%,\4/UO/.X@_@G4CE<_ E,=!1FB-"=C M.+WM<"H&?0F7!'X@:@%6T$@.GYA9"[B*OV*&NH?-%[7<_-O!-P ]683LAN?3 MYMBO$6-E:S#:C?SKPI%E>5=U/<(B",?ROC(+*P)*7U'OXJJSZHI,R370K8G7 ML W1;7DJ7YYJ;PB)TR2WU;20S2:\4Y,$*U@O,GW$0X#8C$YB^+H0ZY$0ZW*5 MVEMH;\9WA!N^)%F9:X)=6K7'=SSCH).X&4VM*!_7AP3<#5\)=!LF9&B)'W-; M(&2FX%3P%#=8D%]C"1K.$,+2-$ C!N*6EYW!7<=(0P$8VIXK%0U+5M("R%H(U=&W>2&#!T<,^LG L%V0M ;2'8'^D9"Y$E1"M)P M\.MYX+B)VT\Y83G__JD.AIPY@B=Q :ZWE\7L-5[ 'VJ?=^.'*5Q3OO]S [2F MO-P\0DWC];/&?SC*21SC,@7]?>?&4Y6ZL*D@'3*@)8<\@:CT904E-=SJ?33\ M.5TQ/,$@4TV:KB9-YP?H M5H?BCH2_S *5>T3J-RHE\[GKC.BH?'LUXULFS(.6-C:3V(@[@J(>Q*"9,E2Z M(U2#D!^!:@)V(L1"AV-ZMULA+T[VC2 *QA2]QWH50) MX.K:,4F7*'V@[N$.U )5M]R!2E\A_GQ)3=8 $EC>!/V1@3\K#YB40SZ3O+(3 M8-H75WDFP-\1OTOOLW^X?79PG]F8[O+]+5W /K!R<#BLQ#RA6C/O5%M OU,_ MW$:Q84FM5QK\A32$-T':F<;!==<)<5;1U >X;0!D"2JY\)MRWBQ,R*4W)NZK M#5F\\L#.9O % , EFVG$*!%@3%7N<@N<\F,OQEUJIFR>]VQ+KY*V $@=7+PT M&C16HD&>[_%&O?0K8_?*9Y6+"7VDPUR459AP?ED2Z\))"&++\4+C"2C%!_-H MY#\QS_)$( UMI\"A;CT\\A22-YX& MTHMBHO\"72["D8"4A%0TB@/=7X_P'((=Y;%01 B S$%O<1WFP?-DU:.'43@. MT08CWRM\A?X8_%OK(<3CB_R5([E_TPB9ZXK^66))&9F0T$ :D;X#W(6-:1;. M,*90!0\<,F^"%([^%Y"/(4>E4*1TC,=P;MB $+AZM')#[2U@Q@0H%^X)HQ+# MA=JB#F8M]*E%3#&S0Z2AP.\L_@<1K+25,?Z1]>.:NN\6?5ASHF6Z!?%R#DJX M$I>G<8!^2M<&F /_QGWSKF1%^\)CBV/YV!WL=^672;O0I#<#_:KF6F IAUOF MG>0()Q&K5Y/RQI^&( XI;(;MSH%Y;H?8)4OGVX?/U_G?KT^0"W M':X#-V8G82R#TOZ,T=0*R%68NH-MA$3*S=PH!OM7?.\-O?;&UR"? _(N]INH MY?1#7@/R%7#$XP-P?O?@8PR/(G;.';PA*A@!B,8(PZ(;HLT;?/<%3XG6>9(V M><] SE3=F%2 YRGSTIK'QI*=/RC71LIQ@5YO<^AZ#,O3U<,&T-M)PJ TQS.5 M4RX_9+O9QI6;&]F)@YX]V^1..G1LZVF2P[+>1@JZ,<0\UZ+40TWILF,>! .9 MP1DI_@&O%2>2J7BX!)Z)8;0<0,5$VC)*+1$3$U*$$K["2/3$<[$C<&"YY"]_ MAMOG630SL.(H\,YE#LBT1+1O*&56I=+6-O$^;I@EWS_O+/G^F6?)_P#R]6+V M%0QX]*(A<_L#<.:&(CDLR*;-=W-RVKN-;-J\6'BKS'F^7LY;SB-SGD?K__0# M8=#Y,9F0" [>$A8($&MRN-LDQ*C0)2DY(W$#/& FA",0O0,_X #"KJ^B'R:& M)7L*W0F?B.6-G9&',T _1 M[XN];H.%+@AJQK4ZO# 00EUY!BW2&?%^F"Y@(V7;86(.VABH@,,N(BED>,*1 M6EN8,JJK+(7$Z"Y(!E*LQ@JY)EFP EJS\*]P[#"[9OS0;U);F"3J,Q./+GB> M1-YR"&(\VI@%7$KCP7U7FOZ@,,\1:9W9*FEX04:'O)0871BL8+ MIJ@77AIJ'3Q=$D1F@)92/"=$(G1>VL%7/_/&6>Q&SKQP?< 8.+C$1H52$BF+ MKEZJB@Z95SP$9Y#F8;F^Q\C^Q(LF?">A+N@,K:<0B9<156611*$&HF7!G@V' M4(S;D*"EH.[@D&FM, (XJ$3$-(*DN4*R,6&G>Y2]Q)?C,7^\R"%>E<)Q!.[9 MQ9ZU*Z! KDRXB'E61)HHYD*S4J"3?C@V'A,=81Y%BB5R$T"HM("@R(TE)^%D M95):BEP0P,TH9FUR"A5L"UN"#UGTS)A(AA ,AK\PA2T:L@CGG$[V]&[]KE%S M#<4YX'W+*SP[H%P.,6>-45]O.20Z2!\%2@#"NQ?9)+EY MGT\6NALL%]-1)E/Q3"*!I.BQI-DI,U5DB@KB+;R\5<=S=NLH"D6_Z"??09@7 M,W./J9R7R/K%0E*U&7E_2&@K?B3/B;_'4V*>J1>Y: J#@2+DU 1M3&]&DMJP M8C@/L#H'S_\'7A4#N(939SZG(BV ?!,V^456Z$_(' 88*\VB[RMTE(0XR M%SBAV%$]K#V^&.R%5(BS9 !.:$U B$QT5D\%9KPQ/8J B8]NMP]2P"B%SQ0: MFJ8!XOTYS+45$269C_(A49%(GE=F^]Q@):UKAJ,#1@8ZU2S=KVB$,Z2KA#-Q MA0USH6(L! .#$'.C/"YW& E"0SPVNG7V, M?UCN*I1)*#R<*K3D]LVT#6LD/9%2G5U6MV_YF,D;S<@D?[YOY6^PSK\J^JVA M>L<;E1M?T%E.&9VI%@J%':*:[0.!XX7:$^6#Y#LV!2@!D6-@K+H]8JCYO'%40\80;UC=@?],^ &E3@Z07'4W(,X MZE?6426.*G%T9''4.KXXPOGIS;Y9[YP#-ZC$T0F*H];NXJA7!Z7H'+S%QQ=' M+ST"[&@AL!^I_-UU.3!O?D)E8\U0JA>0);W&Q16(DGYO<$+S*:M9J(?@^>T] M\'R7X;+U"T[TSQ,[Q&2)&PGMFH[ZS:E,QQ%/!M*(>*'M@B#3> M^30PI6*(9XZF>0RQ>WR&V+FXZK?-06/G2%C%$$\%TPH88G8=C"&V-L#0^Q7&N(;+ ;XNKIKP0ZNT1R(G#OU MY?'Y_O'Y_.#BJMTVNX-]I8 =(9"VCUC9:\*T C[?WYW/]['YZ8E@RO'Y?(6F M>V>(@Z,SQ'[CXJK5,3N#?:4=5 SQZ)A6P! '>V"(&"O:.:I8,<0*3?,98O/X M59-]G%7?:ICM_LX>KXHCG@JJY7/$YA[*&_OM2D6L..(!.>+Q"_?ZG8NKPT H:XAP*[?A?[A9P&IAR?(>XI2Y1C6[/6[)QNN0'O_>_KO5[+ MNL+3?<):<&[;C['7I]SXFRW.V#^ 3IN*2HG(XQ<3]GN8<=LS^[U]A>CB$[\%R;R'6L,^1BUS)GD= $$WO*NS%.E[HHM*%E:R\ "R\/B5C/T! ML)E^VVSW&Y4LK&3A 63A'@H=!_5*%E:RL)*%KUD6'M]S.FA<7/6;3;.^>W2] M$H65*,R)Z>]!$C8K25A)PDH2OF9)V#Q^3X)!Z^*J4Z^;G=V;45>BL!*%.5;A M'EHA#-J5+-Q7T/,?-'#OBF"IS_)3]1&9S[6!@&+Q-H8[YWY( U$_R('!R5R^ MOU^D?B4@74]^8@T!KG%4_)/,V(TCQ4T;K:7J$>U_IX'[5.9B_&-$ .]%_.:-1K]<;]]GA<;[3[H_:PVVM8PU9KV&[W MNHUV^__U+JYH!BB.)T4YBY,[_^U9_^8-C"(9T-X*A7UY&AAF)Q]MFJ MFP;.WJ')X5/+-BS@US@$GMEJJ.S0&FLP@;G!:_FKT+\NT1@F!IOBN)=2H^8*I]H.( M P7/-6 0C8G_[(0CUP\!!;+SJ >][#SJ02\[C_H($%BZFGJM@U7M_)^[F/?6@DANN#!N0(S% MH7'KC6HH5T9@IEKP%ML!*111U3P CO_A/\-B)"S%C[Y]NS'>D6E#K[VY <+V M@XD%LHMNR)0/WJ!RY3DL?(^_+MTD+*4O-I?XY8/U!- *[ZT%\I-'_S&P_M=W M0=T/E?\@UWG0!X4PJQS]'3>(A_%8Q-63D*]O&LX89;^)=_![[:%FC)F-L#4! MC4 J$ZB ,\-%.AXHDZ"U */##\>@-XVF3L@_(0&M QW_23<$ZH(+V!2BN@)* M@8ULD62]^ )?+*]GY 2C> 8O!OD?UE+KD584,'H,#S($%!@[D3Q7P&;P#>+7 M0:[A$W_;#WH_"*255S#([HAQ1D0TZSYW%W@.I8!I(#CCFFU M -%3+,)7MAUD,LPC;=BSU8[D'L (B%WZRX'-D1O'<("$1Q%7S#.K ZK NE$H ML4PG$)T> DDIJ!*'88P8#E\.$5=6T1']S@Y@'Q["#%\!A_4#1!CB9&/8FP_, M"4'@C$BS@!,S"W@@+5LS'N)AR/Z*\>$1:.03%DJ8S)B%NA6M(_:?OC,KR%/* M:=T9-Y;&6(XW'4$5WPN9B2@-)@?QS#$:#,Y_.)A#;E]*F-&A M&6C]'KXN&5C-;1*=WF>6#:_=BP%>K('>S6LB7(RNQ&0 MI M9 J9A0;17S'"P"_-H_8O*'KUQFI!40KPC4[&$1 Z$P_^M?X.OG 4$ARV]%4T M+ZY:C54>$,(_8BQ"8B1<@,Q6/"S[Q6F'E( ;XWJU M7@>2!%2=D[ A=0NDWP&GV:?3[0[9%.AI,R?:"D1M[-G;J&632!6,2.$]+)O: MT676JW>P&FX5OPK8V.6^&M3"^%O4%8&"F]P^)Q?IV'%F2$>&:%&%:_NV4V!U)(^$=$ K\ MU)FCJ0#R/XSP%,PA";6LJJ,:JI'H.6I>J%CI$AU9$BH]PD^(8MIEA(7B8L#4 M(OV#X"[A!G"-'-< '5WGCIJK+4=/(T\A>2MC^"UI#3XI 6!)V2:LZ#)@DFB[ M_0+)@[8!OI[ND98AC9#4-KX@,- Q/>[*%RT_ ;I. $;$.S0>(I2AZ@E;?&7' M3+?PP+2> #:8J(>!FAT"*< ?7%M!JB'^-(Q#@"QLE2MIPLD([^#/244*GB27 MJ.^^-Y<\QQF4]F,7U+_1"(ZBM$$X&?^N 6W-G+F! #A/U54QOVL)'1 FXR7]XA;"F-01>3;LCY: MN'.TOM!PYQ2L5&B.3:O>+OW6G%5P5!270CKQG,,-=R&,0'051^C!CO!J@(T* M%10VB_:HR/?@Q]96( Q]Y[Q7CO1F$^BWA],YQWI-/7*D#[SAND-L[FOJ VU-LQ)?V-;P'-(D0@K1QP2XE MRB(,;<(- %MB!Q-RB#\+?@%R%;;"\5W_3E[DS%JHFT?%RP%PP%7!TTGL02$0 M&>;"^A;^#.D#$(^(FTVS!5_HLPI>AO;EK$AN&-]GF'-QKUVO&K%US,EW9HOE M"9T< MG>?U6K;[]M^7HP/SP '&*O2T3(#@/0(%?I&?;+'62-;1"5-4=)6B$+S<4Y'Q M):S+ST!G!G&,!_K]7?*JTD;F *?VY0!/&9FKG2G&.Y6FL84;/Y]^T*36SOAO M'Y?^06;ERAS,7J.^B@82+\83K6C,_6<6<&=UR0OJO]P%-1H@W-JK7!G+%_1I MCQ?4W_,%8<%(KY9M!K7J@DY1-Z45/SBP5V>T@23B,MBX$]'4$SS0NECQORQ/ MQ'F7>9UP7# *HY#>^QPX4<2\)'B\*LR:3V"-3IK$FAE]"5#K;DSH]YTP%_Z@ ME6[!Y&3VK?>("6+\99N17#W!TM;%5A>QU#1#^, 9)FI,)<"B@B M8+W2[0@$1 ?)0F20&T_( <@]OCQ9)WL^T/4[C5HKQ_T^9\)[3B8(1CSG@3]B MS%Z_\757F.&2VHYO,&)G,YX?^T,DY-VE[S#+&3O8/K&S*HKP#D^P]XT+QWTH M-H\8AZ;ZC1]&8=X^NR!B5[EQ88,*19!<;-#Z_1C-2 J'HAL\#-$ ?4^A"[0U M5!JDCEXK?VMB-#+P?\&I(@:6:#F0=.NK07)M_QF'Y*L/'_UK6_J&[RT'2/'& MFB.G5, "\EP',NR)E"/'=9"-\+EK6$%YTC!^LH7!0+S["T89/RKBBM*!O&8CG7.79[5+4,W*B'RH M_AM]ZR6!JG$7M'ER9 MV%KI3#P25O,L*R4\R$6/44D,-T:!15X=2AU+AUR?X"?XE8@;\F ,LO5WN!N M5IP@X_F$,3GDV(SJ)WSO.@B0_>*RGQ;)(T(AO4;91O_S;[X-SBP;*?X( !E] ML./@&;2@D'F**3;K%U>^QZ@R9-E9S(\_@7>+N ,&@"GD9#F! 1?VDRW%.W6Y MRUFH@P4SKO_,@QAQ ((D9,).HJBC )TR+D786QR>QP!3\@C!2E$3E3^((HJO M.'=C5.\F@1^&E_&TKDHRTFCV)H$X'&H06V(F4%!HS2!]'E05=6 M,_1;)U67 Y#CEDK^ XH&JEP8& VE%Y5%LR\"F ^\'"D?Z[[['EX.X[@54I]> M_7O4XK_[T?\Q>)'<&D>]KWX@/L+G-D3$!B'B92XB2OJ28'I, 5?6PSDELY$: MW>9J-436INFG3F"E466X:])/LWEQ5<])[DKI)L)17>"*YGGRH0C%BTHV"CG: M,O,SU";0Y>4-B8@^*G=86\ZS@P5PPREC$:8?KW.!F9NN M:Y.&RQ/^02 9H,I'T]#@V3B?P%1W]&=HTY M,F)%[1[$OLW"B[#02Z#PUJ$JZQGZ^&U5A\U8^!ZS]]2%W:2.5Q,W9GSU@5L_ M2S:WV:6EE\*=E_?>K.K[J86R,.",NLN77PXI&OCBK-8"=ZJTEHS+IMDF_:7 M72.3.V6HCK_;H)<3:1'1R"-S3$F='X]_?NE:.=6&JXOT>#4:*"GYN)HM,[R> M<3F)O_G!2+[:AD@G,)16)OU?QMV1(H)+7^)3%/]7/(D63F" M&&@!Z]"S,UV>KA@B%T&GF_32BV1J2LO !QX8?K;?,Q&'SY[F#^:Z4^!NJP_S M+#96+%1\]7*KX.6KLR^6Z@8ME&;A'+V+Z'8@H8.B;RYER>:HC MK_E0*> C*PYSWH<^8JZ8\,L)T*!U0:9B"!0O8Q;/#%$81WHNO%POU#&-I/PT M Q]*[226\.[7>\W7G7#/O, KYN3RC&.#$&4K5_^J=F":L/BAWO4#7[6CV.BL M$QNYA\Z(#)F4G+YAM."#4$ %;BL)U_%<4UHKG+ND!O"_R+P"_A,*C,YQ1C6ORU+-YUM\&[ V-7N!_TRM$Z4%1I MR*2SQ;G&7G.1CDI-8A1$"FLW1"I3:+L!EVEDLB6&P9H$+E6,,D+_BTLM=$Y. M^RMI\R>L,Z76G>#!5AZCK$3634R)=DAE:+)'KFRP@ Q<&%J);2;[-&$5;,@+ M1%2V0JYDT-P#->/!H5H2H;YD&W=@!?P$]CE!^MU&9!:T%$NX%QWCAQ!.I9UQ MO8NK=E[(5D\(26I^DB(D97.O3?U%!7);"DT*[%1)T++'9%U)\AEA?J,#F/]Y M(U^ED:1'E\:H@B3H?6%4']V[*Y*R$LJ+_ DC2<0%R)9(8LKTHP($R:5A[KD' MV)35H0$E5"E; M*M%ZMTT#;O969@%KEH*"F5SJ,RK9 5)CQ@AHU9$;MK*31K2$X"(+U!;+;A6^ MXOG^9>.'S0+VH\*'\N@:.&X _F7Y4*MQ<=5LKBJ.T6NHMKO/_D'NDZ+(K9R- MK[]/U(3*W<::=.F]W4:+^F&LJ(39# .5W$.78XHH,>MW.S1&H/&6-8? YR3A M7,&R-/#:ZU!Y[_>^CUWS%B@YN:]BUR9YB=' 1P\2:#Z)6X$76=,9>/8*>0JB MQ27O=$")P*$LW;>%W<.SPU5F%R&$GIV4>@,\@,7D]!!V'];".CI%":/O(UA_ MS^R)H<=H24VQT6OM#&,.\KDT4RA,4*6>KD@][52IIU7JZ4:IIZ>99,K]E8E, MML+"\(9T'3FA8C@%H=&"*#[/VUAHXDYI;N@_*7AM#40>MA8):%&L+HJIGDC: M&3KKDAF>O-I A!EY:3>P3>VYVE)[WQ/2YDL:)J2(&3^82FB]#_Q)8,U.\&0K MSW'G&?^*0=GI2G<-XL/0%[4R/"1"'2WC:.H'E/&G59-PMZ6"06)K4\"O*&R5 M\CDN901C2=Q\K5*=]4ND59)N;CE)+'<\J\HED_$/F, %EO+]>%T3=U40S:* YXKZEK/L'P0 MNTS&?<[!9 D"18SQ?0A,^'=>?10^'S >?R_M\]0/E5PD!U)$Z7RE M'6^I(N#Z&ORVKSW[!W]3MB:M;"E:"WWP9KV>TWAR32$:$GM).AYL4!:FG3-3 M&U::@OL;9?NN.4=A[79W=>WV8T"U @LZUK5(];P&4P$T5TRN7U'+W1I<7+4& MM6Z.)]OB"\B*"*5D,#F2+UT>G-0(%G&G3 L4#=7+W6]O33EQ/I_^(;N%)PP[ M>69+UMW&8=[M04Y+BO35\T[E2+V)!$2\5L-0Y#Z*R2 !L(3G"6H))?6?/.WN M!$^UQKFLJ["R#V,V!1NN.6GDIC>&E#W\X%HYTF!9#HHJ=,V[+FE!,][AJ&9\ M%4EF&_N6I;5WVA >0W.-BCGV[+A%ZS%-"PS+\TX34NKKJM M5=Z\)'=.SH,8QUC90E7_W(8Q5>='=,_,N$)C_4KZ\.%7\FZH6FK)8)%6E%!X MZ(ZX#P_Y8TFPKBLB*@)K3ILL3E?[ 33VW&FM[#\AJ\?(X21+JS;3=E*XVER- MJV7AV3H%-&U1I_(5W;:W1-/CH.B:OMO'0M$VSL,K]O*^ D'Y3>76HGX@^MW) M5%<%W1,\Y\I3_:Y4&I[-+HLXUJ1!133G@F-R;G-"X5F7UB%7M6PVA-]J98JF M-OI.=8'6^[6JM3F74B^HH9MF+.I[#-75D;Y]V5-1E!$((I?4.W"#K@".Y\56O6=B?;Z*#=R;9FU98G M3$R]8'7'UM/G#47.> +$E:C"=[PGWWWBE/5D!50A".)O#NH"4J03TCP:3G5^ M +>)*8LC/PYX;KBLH:@9OR6U(,JY-&2NPYZ8+):D&ELUS4F]A?H,\(;0!HKF M ,>?639F-(.M/![3L#'N($^5\.+ '+@H;!;ERR+.I4=DMB96+WSZ9S,W>R1#S'?A([/,<.SJ[6(6K.&=]^ R;E&0^SLO7*)N_YS]M7^$$GLRSR-&F^+=\2RU##UO0[[<$G(+T[#OL0QD'B#F?<$Q=#EWW,F-M3Y^R M\&K'20TVW4\H,$V, -5Q2XV5$6A.,1/MMC!O"&^? TH,]!LN#)=0"G-BY=#H M'/KZL(E*T\J'G=BY3&$)P ZY!!BZUCQD'^0_/J*0=ZW%!\K95=_UVFWJ\V>UV;[&RW[#\)(-U2A[E;FE:%;"N;.A* M\:!] "EY5+ D8O_SR"";P,##?CPKZ G5(@6D;0_\UJ#6K*"V!=1:%=1*08VZ M\95A8D-K]',2@.YL7XHMCD:,C<>KCHTF\LL<>KT:RW$ET5$_;((P16?>#R:M M@^@N:U0[?/$=EB:@,?V_90(RZ+_U$Z>D+U;@7?IQTO]QL4Q/98Y=-\Z!>_QM MIR/J1Z/V#R=UMG+QX'39?LX<+\5FCD@Y)+^N=/'X(6TK$YS;UK6"OP\E #9U"-2852C7W\IC&I5&/4V M,*JQ&T9E,:=]<=7K%4UZJ;#F=6!-<]]8TSDUK"'-[A^46J.GO.L9B^>1%L4R MGG#>QYVI9ANY8T:-=R%CQG<_8D;S/;;G*$B5BBF76>;:Y27BB1)TYE'3A=S! M8+S-(&\;2/F"U'E:%15IKU-S;K&7(9P,U@BUOO7)&6''(8NP^RQ/_-/6<+#R M ;/OJ/@AE9G'\ E5SR**6H=R3?/R%K#8)G/"G,0[@MK'--9:?P"U3QW ^AC9J.VI1'U?E[.3D^RTNDJ\JY?7(H"O2@WJZV9$%>8 M(7E-J:?7GKTZ51(>^.Y[02IS\M\24Q[9:.HY?\4LI(8^V8S*3DZF="X]DKYS]$FH,6F?$,8J!_W!50,G$Y+>TX%>14?<#E-M+4F[E>$C2 M67=)KGN9U*TC(]BN7@/>ZSWK.$@UOV@OZ^6?1.'K#;6,%U.81?%P=(-3TVQ1 M;ZIZ"V@UA;R2Y$.2D.GULUV8OC[89,LS^,.([^"PA:8W#X*)O<) MD[/]KO^^&V?/#XF>-&?_(OTJ&:]&<5!RASR&'%U@&S"^!LSO' 7S!Q=7S4ZM MN8Z)OPFE)L\-=VR5YI4C??<82-_%Q+!ZK9]MX[B3YG)>5[6;?G)>9RV-EKVC MH&6#T#(G$^OMJ2$W.<&2@^H?N\'O->!\_R@XW^0XOR\C\BRO:DM6?)9G+8V6 M@Z.@98O:T=4W4HNSZ0R%P<-T7.N4\AGF.5FHF% 0L)!:)F&H8A);@06WDS0D M-:C9-3;T))N1MZY.FM<[-%+YS]C39BIODAK1J%-?(2=,9QX4Y$ILD@FQ.IW8V=YWT[P$EY6QM:N-.L:Z<]XB&?*'Q9VR+?GJT(NU+ MBXU1V R#82+[0)XW&PU+T- T0/[#2G+6-UX[KIOJ/U68(X%KZ0#9,3,BCSIX M=D1!K+.9&^MLK6VII/4,VV>0,9>Z5P0:U_<1AC5;3OI%3B0?TH*G$;8R3M;N6<2&(D+Q0;>?-& MX*!Q%(SOT+2D9C9__NW%1N0@6V/A,-<^-N=_Y=C>/ JV=W&HV:!3RN.1M1,. MVU?W=ZT0@DX"7_O>"'XE M5[E/TL4EW-Q\"]FEO4:MTQB';,XOB+4BE!U0FT? MA5"SM#@ 6FR2I5KGUXD%%:79R+M79+.673>/F7 MK5J._8?Q:UY7^Z[Q?JD:]1"^UE5M2#;MK7?N;&9-G]]MV4P!E_FGY7C?_#"\ MI88*S+[UOH@.%&5U!!R V6B:@]8I];*K$'3_"+JFS^X+(F@6!QL75\WNSBUW M3J^9XDDKC\)8WF!HS\MJYL*OV9KCH-$8O:2DV%1Z^ZZ@>4W<;$U3Y),POWO- M?;6)W2,6G(=U7O& B@>LY0%K>CZ_E&6/,Z+WUS#PF#2>DYE_O#S\7JVQUC!N MKC*,^YM:QB\?KDY/QA[4NCV$WQ^I1/F_[6)_=D[<_NPFU-.F*>6# O(!T+NB M!2)N6NU=CCG&[&Y_Y% *NBJ5X-%](SL8=[E]5)+7;?,)UOBMARGA,P#O-,3Z M"%@XJQ[7C,_)#Z(IIGFF?O$;CM\U6@W^M&E89:]S<*[7V<&,F,::VYS ^XQG M*]3Q'3[Q 9H!-HGT9\PT/!;)*X0C$*NS>,$,_(?/),>$C;E(W,&J"VRBQ^_< M"<+(^"NV OP$'N/7D$:.C1 #IRTS*DOAR22X 3:W,)?77?#J"MCNW/<8;\4I M]@,_X.?@6%GN]I?O'JL9X%_+2/ 96,\3L3QY?W=>\MEW%I6^O"[08FOM[6'! MD* ^[?XT"@J=7^L)Z*LHU<@KLS"-Y^UY8;->/U?BZ2'Q%%D+.>!?S?STXBG/ M>/CG?UNS^K< .B8&Y M+*09[EY9',T0^1*.\K?>B)=BLB*NFV#=UF-,-'3K;\*KBRJ>J&H-09"IRH/K M_0F\.]M^.6G_*V!(:X1S/Z*"/;C)=V*PK_C%^QR9C-0 M<5S)ZS>JIL*W[P$%1RANHZ[7!>DMO MDJA<-^&Z%A:;>A,JI.0P?)XZ5 0\%B6K4_^9^-]0I$X3K<-FK0GC=$MRP:)& MXH)5S@/?CD<1;]"-Q(\T73-^!^V(E"27Z>W,M:T*>7\I>IYC\2TLQPN21;7G MA$LG7-F#G?'OC$*>*WZ0Y;NI//';[U^7T?0[Y9??C7^HEPLD2TMSN*P1LMAG M,,A!+53_0QW30 J#U4S[G0XJ[/ZXS'P6]O!_^ -Y8*7_ACY M(": CWJJD3YZM+A7A"?V@]<55(1#2-W:K9\,P?WDL&>^H+R(4'M<[Q8/ M;\$?J27@5T/4FV$7\";<%CR!/>A=H&O9X)^JS,7I:IND3I\2E=TIA$18)/@8 ML(VRP#NU9F=9O+26W2@O(U[RSX.> "7!1 M?"M0?84WA\.;A[GONR0Z:"8"[&2"Y1R[88^I4(?&;R3&%[)GRZ5K]L(IJ.ZH MU(KWSYTY\$M]$PJ9L%M!@BPFX 8Z0&CT!G)R8+#6L[4P0//W0I)&4GP",IF$ M2; =YJX#N"J'6ZD+XOK>7M#&7K54(9J*,/ZH0Q"\R]GW8RFS(Y==C=>MG-N M/:XVP@L^+<2768NGG[%MSD G^NIXH UB5Q@G.:0Q7&1T6=67A;O*28DO]BAQ M_\/_W]Z7=K>-) G^%3RU:]:>A6 "O.UNOR?+=K>G7;;;=DWMMWY)("FB# (L M'#KZUV]$9":0(,%+(D60PO2N2Q* /.*.R(C(4IP!?G"H]Q"5\9'P'/$@NMG( MC&P?H. .)('5$M)@VXJ[SL#JV9MU(MFRB,T>[*.(K=/:R^43Q[38=G\/Y8$M M,/V.:K&;#=O7 M)FI4Y&K4&]R;9H-NLN&G!CAGM^7()P6;AJAV0E2GE:E>O6EYR<"K?22E[[9Y MVBX:]#0K/*H5/H7F;?-1^'UT;GMP@5;MH+9YAG?5%D\G4]MIK6F6(.7[ASB: MJD07S,>ZS!+8((_?W\JT$;PB&?Z?]X/=;EN+,:!:#,?L##HU*C-K6*=AG36L MLZ9]P6.P#O;U'W2 =9:EBC6L4R/R:EA''M$X-6 =[/_;[YE.?_&:Q(9U&M:I M*>LXK37=+!Z#=;K .JV6V:WHKMKT!=@GI52GSNPU]K*J/T<%!$^P/X?36M.? MXS%8#LM_6EVS/5AL6'^_8M8:%9XWM*;1VIKN"0^FM;%_R[WS__ XJB*SOL@: MM)W7#9F=,)G93@VLB,'9&Z?3-8':&EH[85IS6FN:0>Q9I WK*-)V=#(AJ&58 M'3P-+UFC",:XP!W#=0CAZZY3:!IUG[?A+E5):8[3M@I3PJ-XVG>&#CPT;4JHQ*:U-J-H% M*>$1--#2H+6L(6Q#2Z= 2VLSC'9!2WWL+-PSNQ67D3<91$T&TSMJ:E-8D"*TEI96GY<-:GI8W9/3H"4 /ETB#5@LD4L=L MM1Y\7-&04HU):6U^SX,DTJ!EUU$B/<'\G?G;$YH\GIKF\>Q"=.-1<]_LM795 M&]6<-)\,]>T]_CUHM7<*O%TWTHJ[DM4MS=B]$A:=?IMUY<'I'0UEU M%EP+MNICRJW!V9L>>%"#1FX=#W7MTA3="U$-21EVZA3/?PHM'K_,W[U[Z-#K MJ?/6N@ KXD/GI1*353".C66/O28%[Z2)9EU<= W1;">*;9M,2*=.#9@:FGKL M:.=N2],V!P\_K6](JL8DM3:$N;5NPQ:D=2I4V%%$\CB.Y@5VC!''J]!5 M?#)EM_M)Z5SWG0PUR\NXV@!$+\HPUY3"S0\X-J@=W#=O1[E+T)R0&%IC8A<' M**IDV0\S@(,\88G"Y"V1O'CO!Q+\^]LT9@!'/V3QW<>43Q,08_*ZV( $F?"( MM]:+G;,W@Y[9&3[X0&:'I'#@0$PC"!I!\%CQ]_H( JRE:YO=WJ[ZU36"H!$$ MC2#8S->MDQS ,^%!VVS;#RZ$; 1!(P@:0;#MR59]) &5L?;-PN1@!8!?8L;VB,Z$72C)$V,, (B\6/NIL&=P=(T]D>9N% ] MC8PHBXU877>OKGS'N]K=B<'T4?DM=S,$E0$;85>U _])(T)G,8X M"XG*D[E+WB43?,ZF -7_.X*#B76%!2%W..[;K_='P\ZXW'+[@SW>G\&Z\%6TF&MG,8(ES?>\M!F6=WK,BH?Q3,5W'RV9NW+ 'P[:B,;& M9<"2Q+@ N$VG$:X, &KXP(DL<#,05MPS1G? S]<^HL\ YL,#?Q79G6?O2U V M66* E+ ,+XO5%S"C']% ^)M8*PS,0/0!:QN@V/ R;E@-+2M9NJXH2Y,4A ". MJPV? )W(.2SCG1]D./C!MLO2S?>KEB&WK6T/EIE-Z8<@,&91"B3DPX^XMD#( M1?G1#<= .[S-O3GA5W_"_)T;6<()2/X8+(\0=2$ :LK3"< /(.QQL(2F>(L[ MT9&"0P$%,%) TR L=>A=7AJ_@4F7&,]198!6 4C-(O&LH+'2%T08;TN$\<*D M6=.8LR2+[R2UW&MQ&6PMP:VA60<2!G\4PV6TSAS=1#\T7!R!">8!@GV@@!%! MBF:=9;$[ 2-A';/@SG$@(;JN8&U /4@H1+V"(QZV%R!SLD]#E^N;L8P%\;FY ME/_N3KB7!?S+>%[>DQ2["#W)X#]P&XLZP&G-2_LCX(,? /(QF/[1#9& 0% V MA=7"( EA9$0R'''J+1=P2HJA)?1J$V% -MU?Y832%1 V/6P]8+.$OU(_O/;\ M9!:PNU=^2!N@CU[+L:1_4&'.$H3%X]B-;I6ZVVL_1QR[*7/ELUK&U;G=;RQZN&7?VL:P^.9['M?J=9;&LSZEISIC\? ME%IH)'H/43+82)*LZ;DY7%AB103+Y1A^>)QXS7"CML$_)C'GQJ_PWB0QWH.X M]OXZBE^^^POHU(!ZJUW4S3O&+@L\5<2> MZHT[I^6T-TF-V63#FS1;I$;&B#W8)ZY(42XN6?UNP?S[3]O%#Z4'<7(RZ]F MP K8'/?Y\ZD>%Z_)) 5ZN'\W#L<^>]-US.Y@RP3W_25FK,F_:,BU[N2Z)M_Q M8>2*)3RVV=FV+*PAUX9<[Y65]S!JQ.TE#6Q(2:+J?;&7T7VBT\B/Z MQCW.I_CS)CF@*UM3.]TZMJ9N>NT&3PW!'=1HWC/%#< E')J]P8-[)3U>B[&G8F(O1L]E9MSQF=B&L=3( MWO:(];C# )MO\X3$W1+?X6;BE46=J+T!"'S%\IDHW+/H&][OJ&&;9(#'BY0U M_'.Z_+/$&SHP_[1;]SO[:/BGX9\Z^'>'9A]L*-GIFJV*EM$-_QR:OAK^6>^N M'IJ!G+,WPX$YZ&_;"F#?_/-D4BK?\3":^N'NDRKGVC#HB*E1+F"SRL=?Y5,* M#?T^7U9-5;!"MEU4E%2O3[&LB,&>4JA5@&1!?:VY>%F!^4) ^3/5KG\94TEN M\I'JSJDR=VO]U#Y[T\-@_I9-JQ[?A'N:9-$[$%ET@"Q:9J]7^Y3!ITD6_0.1 M19>D17O82(M:DL6:*]?W1A8]DA9V[P 9FTT*'-#)^[PKR'Q?FN,[A7ON-(EN MF_#Z^E;I,;5K8\$E]:,17%Z.=JB.+MS[RN[PY8LX9J%H\Y94,7H?&7U7'<^; MO(^ZTM;Z[MM[H*W!V9M.9U<=,QO:JBEMK6_H_VM)XP>L+NZ;3?O#%[@WI MU9OT-F@A_,BTUVD![?5,N[UXD723V%;CZ*5J_G;BUO6#3DN/7US<+R0K&R,* MV?&E()VM98,-MG;7[&R=]%JOD_>&KG84T]T973E 5[9IMQJZ.C&ZNE]0>&=T MU:8ZV-[6MDQ#5S6GJ_M%E7=&5UA?W3.=8=WDE;23U7P2Q$/1R_=A_MLN>CUN M: $W*3'-*IN4F-V>QN@MP553>)*M37^QH]2+6>*I]O>KG41GW6TI\GA5*KE6 MH>2Z9V]:UK;W134=;QKR7$.>O=V09P_)L[NE9=^09T.>:\BSOQORQ OWK,&6 MY](->3;DN88\![LA3VQ?8&T;%VF2HQ[+'#_BTQS[Q=(#G0V=N.H[17&SFWEY MQR_$'@5")R@LFEB ->(URZ5_A\'Q<+/U;'[\4 MX8WMS/LCHUNH_5!<LQ@O3+[-1U-K'\->&-Y//HM@8^J2;:RBP[?I3["7I>PM+I)?6>A0 M:D?S7@TOFM+\8+??8(K?$NY]B.+JMC/BS9SMSYV"[]MG;YR>MDTHHM).5Y,:N27D@KAT&Z9!EY62!=;;[G->'&6FRDHB0Y-PAX;# @O(.=,_4 M1Y,\9W(&^#P?Q9S]/&=CV.$K%MRPN^3L95DH@T36H;X,8)KP[N52^0W=PKT@ M\)>"G_0CC *+H)6!)$ FD!#+?V6U68L!HA9$QE_6X[0/!B&98LB+*&W" M-/GK2S:?4[I"R=K.(QP+5M]R_A&4AY ]CB7^J__[*PN9*.JC0\+^Z\1XYR=N MEB1*_EZ$++A+?!)$'_R0A:[/ @2#1_Q-[WSC21:D],J7&1>03C:R/A P)4MC M'X9& 2D:\96?@KAQ-SE2O75!^:*HC4#6QC=^ E8\;-PE:QM4=LS_S/P8?A[= M";= Z"+38$$ #\=@[(4NK)"\!H#AOS(&UG\S[ MSJ1?[=?YGZGW_/Q?;_C\7[)$_0&1(O\89;'Z*RVH:&9O4C=[XWEIEKS#/7SP M@L9!CP+V18GEM.\D&R6^Y[/8YS!&%@8C/,K[ =XA>%N30FK([6-@8*0*'B6%30);C.)K"E%$B M+ G7GRG'4FXB=X$3,EJ7+!X_8'(JQ LSKI%*9'2 MS<1W)P::P[@PW\6/@5K!G066 Z;R54M3N4(P?%WPDW%]H^@:6;/@F S1S.([ MXS-@1,BZ;_P*5HN??Y +_R07_CU?N*ESD/3U<;W&&, 7Q8GRUCUMLJ_ T\9' MX"88P[ O+.,;?O!!?*#&@]<1>62U7X0A8D*( '-AI'5#2798D"5 7K Q^*YU M_J_00 C39AG-@K63))O. MB%%-6N8\*?%K(J."Z)!<@;F,R'6SV#)^YV(,C(L8T0CF%;$8()=LAKP*T]P5 M"UE!J;Q"QNMB/6 W%9IL0V-P<%9;N^#]+7=%"Z7OV126=%=#=;U2.4M]A<&Y MT$"$S1"A!GD;I %F<73M8_!M%H.DC'T4;\ 5\&@2@8R)_(!H\8JA,(Q_\A0$ M]P>,$0ON=EJVC03 X*DRD@P,(L^$3 :Q=.U'60+#"K4#GZ4WD20ZH)OX"L-S M-SP()JB!U')@O:GP]0$:IKI89@*KB-G,]V XF.2&2!G].2. CY%F\^V0LR@' M+78K+8G?K.]6OD6Q+1#_(!GX*,Y0'CH#P?SYS,R5Q/XAX+??4\X#)8D3']#& M8EH1X(QT UH#8P22B$'"4*TV13'12LCBF% W)5)'5"U^F0610$9U#-_!G#@ M[B0$HKE"Z5#@:L6&CHU4\U[<9$ $,B(KY ^2I!N MPQ/;Z*8Q),+A VJ@D_ M)!.4ZQ-A#R%=>GP$E!:BS04 3GB*(X Q(Y45N/97 &4&&".*-=$RFS$?0\TI MFDXX(MHTB(P\?LUF@)];LB< \L]ZCFUU#16%4:HDIP]!,L*_MXP+3]AB:#^0 M, <\(5,:LP@])326QEF:P5\Q[G4>9< ZHJ4(SHS<%!G/^L5T@NYIR2#;T:S" MZ5DHXV-^[.5*#;X'4NX8_MB0&@9$-VB.C!,/H8F'7(CV"!(/P KX.=\&:1&R MG:ZYT&G:OD!A3AC9[F1SR6B&H&G@_*E/=E.8H5T >XL).SJ13P#_ $L> D%R MCOQ5R"A)VN__BTUGK[\B4H$<@#=Q#&FWRJ%@T0QCA>,L4%O*P4KK'V4H1 +A\;6/A.GQ M&4>L%"(SFR$P-;U64!:&&GVPOP,@DB IV])TUC429,O$@9 7^^*8*?:OI(E6 MO(/82(#BR+?!%[FWZA5!;"F^A.O"%Z]!;4TIGA+R&UBXV"")0/P07IQ&\(N@ M VEZ;XE$$5%$.>N/[^H;8O@FY%5R;!2*'J64M4*R@-@#PO&4!XG'& G0+A#J MJYQ^,>R-;:<200ECGP,;QE?Q?LK)X#AF0C)%<;070)6/0R^('*(;\I6 MAUA BD(#[+YOM*[RA 5?+4PMMH&3%Z(R0S?%RV+%4Y+L<1&P'H"#Y*.8@VX3 M=E &1I8F:R5S5 V.*AB6GXA9Z-08K"P0BOGF2^^6]PIF;36DE^T7%35,>9'\J0\N#)I1A(I*8A'Q)(,3^1K%'H]/+A?HW?BTF2PP14'] MSB_D($0E:EL@:5WHF^#0+_U(T@H"U^XM?6LIH]UC/TYI/[WN??:S_"-M/\[R M72_=#QA$$W;-*61$MZ&$*;(O& F@!ES=-*$ X!1]B@"\' KG%@_!B+A O0DR MG*&?%#*/%1!3!$L+ M^QB/ S2'$0,Q-\H1)BL,7.%1!FX->BH)OQ+>#GD>"5EJTD_^&L,+:$]>BC0) M]6X.[N^Y+/NA.XKRM3I"=$L38!X"-=S1RO7_6(5%CR=@AP'3:\X2_):0?2@B MYQ0O-JB[9$F="X]*CBN3:'1]FR=6R4#&[^K#$8SEY5:$4&Y)%'CY?!@>!\&' MT>U@+BJ4A92C%4J^U8WIFWS-E->5^@$ J:3RE=5LZLI?.H;*()E-6,+S,XT% M[XDFH5BJRA9<#2WF5HI9)6"V!G=2"I*WI3X1)T=!$N7?:1:GFKEL M">*V_@D[ "L2:> ['A$;%S$;X9(7]%ZAYG#3<[(?'H#2$*=@:'D6L'L;@73& MNFT_O3.-3Q&:66!VT@#?L_],H@SLT D8M'6T=^X1RBJLY=4V8$Q*%?2QYIW* M7(LBV!3"2H5RSJ-10'J< <&J1WG. 5@:NH$!;XY3'B\X[*BD30KUEB()X#&5 MMU-2LGZRP6)I-<54,KQ) X%SP]PB2*KSD2!)/( N-#D ;W+GQ2P#,Y,^%427 M!S,\L52,:R/!RZ7A]P:F;."A\"V*,UQC'N_+ X7:LK3(@T18*1*@V6S)AJ$& M//#@%(>.5>8$V25E-V\Q@%"$CQ()<[+KHEB9=2R81NB6D8H5OB##J'T2N;Y( M7E'2!3 0A:?A0%1[2#7YE%D%N7A?LG:LX845?,:1U)?E3]I,S($1:#&ZX?/91G'F@,-&//!;M M_Y+*JM""2XS]DHM1;?H721)J>Z0CEVI=73LN,R%([2$"[ECL);J>TV6:M C4 M*'@PN&!XT,N_H?"3M>J["Z-;@""/_@M.[[@RR:JBLX;96;N(BT3.3\@0ZTB+Y2>S*:"XE$LZG"XF< MUNI4V]+'Q"@CSD.5M"H%/V6@:KFVVV38YN<)*E'&D[6*\]M0"FG)48P%#SAE MA!J.2L*X7\XO!=Z*3 0_%%5"N 8E:>3X>JY,#6EI2Q;Y(O7W9P::%S;^=Y"6 M7V,T0VJXM[7F9I&B+4IM$\J$A$&2O I+&2RAW+ (:O@RJ?\SI5Y=4#T5,Z)K M5>F;UP@ D_A1.8=E64Z&02:18AFIH]4R%A(T5+RZE*BAQZ(3-N5J^HT(KUV- M&PD9%:RE:GC 4R\%EA+>B7).F$X]EP'/8 ML[I=&V.>LIV?G%B&0RW1RKU=096J]5?^KAEV?=\UNUT[O7EJL7:+6O8 M;1_)8H=6O[?[M=I6I]U[VH"EQ6X&@PW[RF_0[7[MJ\--NM4+3^]QVI(,UQFG M+2'/,>7H5Y' \!X3&.9[@3PA8'S&9(ZEL'A$8M):$BV[IV15%];Z07:Q&G\# M,EN_]Z<#P/_)@#2W@-W3@U!#8KL&H+.-^-M'M^C#-.KZ_<=' QTV MCD;!BX.U?V[MHD/4_:]O>F#GNS4\<=I-[=9MOM[]Z@:.Y70?U!YNO4 \@MZ- M#04?+07W04!V&@IN*/AX*;AO.?V&@AL*/EH*'@ZL8:^.%+RU.S.F_SL^=V;A MS E=FE]_?9MF1^G4++O0YCXXW%@<5>#^U(1.U1;K+5H-6!# M@%EV?,$OJG-*P(QJH(9LY_4U.*!MX*7@-!PV\MH'78-C :RMX#18/O#>Y M8:A;AQ10NVY]4D Q1-=:_K@BGTZ](,'7%MM=E1LA=[))CL7F8!=7L.P[ M,7K?MSCM1]]O>OOUQPOC,DLFU'WCRS\-S'U0GUC!DW1W4%?1O#+I,) M5J'$4W@5JP1S!%,06*'SZ>"P?5@S M&38@I#;&V%N)^LS*2XK@#U^^OK_\OWI=JINEB:I-H^I$>'<<^&ZJ=J-W:Z,F MVU3")E"8X/5XUQ'RG*@>%@7*$B[%Y L+AG&+[L8^ ,BE]OL:!&@C/C+&Y\7* M(5%,BB7=L9]P6(>/;9=60%=K12D6)0@Q;\!:[MP TPC3W7$3=)(W">5Q;,@ M6\6I3ZZ!D]-J&C@U#9SJ<7M3-86^9;%L)W%G8.\+?PRF '7"T&JP%R4=5?NJ MEN!5)8SSBDT.4:EPVJ!P@L"0_AW>AP#")<$>KBY6/-X5*B)O,%%2(?>OA>_4 MMQ;^$NU1L,J,"]>-LI D[5=P"%UUQB?YBH'5EG9=M6VW\7\/0R"-6%6U74VL[SAZO7Z8 M-WSY@#W1_I<%&;5J?:O:M%Y&TY%\:]=DNXM=KR;; G/JPHJY!@>LZ$>;=P-+ M)RM<*%JRO<QH^+.TZ?+HS'R&C7[) " ZY?^UF@XKI>R/\WQZG MMPZ*?/1*O7G1*RD"1:\FA;CHFS0N&7F%4EVX,TTVT9RRG](?3>:F6@7VO9.< M>5"P:]=U9=AJ&1LDLVOFBVY46JL6R_B(S2/Q:@86WY'-3":(N),H"KEQQUFL MM;[2%4JI%0V\3C<[P2K5C7,%FLMXT1K/,0P1N+2JOU]DZBZ,_ MN HVC]55=0(JIM:(3\>2C$1X\FXW>0D$"F@9,< (="8CX'EG?GEIAC%CL;B) M-EP)]Q,W)MYEN4&.S.4SHIC:!H;AD(+P!("MC4^ME1?<& L+$O8%3SI*B 94F:]'YVLQYN'^L MJ%_C6)'>3J[RKO1CBQ$MN]\Z$=WOB 2BDBV+8\B^FG2\1>&ZRH,24 MQ8(\Q:75%+;B2H-ADUR*66D<4!B0RGS!S2"OP;1J(CH"D]/3I&P\1E4Y-V&, M;<#Q6?&5-34@28E+QDCP&\W"_40^RUJ'S*.W]'M"F;DJGAJ?4L^\@K^ZNI]X. MFW =$K<'[V)6F:F+0YT(@/??2&\I!(^J&]PSXY+L[?V(EJ, P2\2!$8)!@\5 M679W/=\>';4\ITR8*$OPPOL7QE[X:C68ME$KNZHAW(\<6Q\>:55>@7[@&I]F MC#V/L:..-524V[?ZW=K0=W4YUM+[?9N:\B.L*;<'CMD9'+"LO.ED\!2I;C@T M[79#=0W5/>;>GML]L]=MO3AB@LO'<+:S+RJ)KX88&EB=QT;/(?;YRSXZN!^+ M ;GF?M=M*+T"$$="Z7:K:[8']^S 6:-.L2>/)E 9@WNV6V_0]'B:W72&P\TU M1X.@1T>0Y1P$/;L,SMB.UF:AILKU1X3IB_&Z&.0&YN,#>GS7C_Z<0=\<]%OW MYSNV\..UNH]FWA<$2X/4;T=:WM M<7=$W4H/>M+X)<]U%%G%S8GC$QFC.7&\MU5[A#*T Z9K^YZF:Z/I'@M+W8[9 M[318JCF6GO?,OMV< -480;9CM8_98CP6I=J ;(BB]5<:F6= M59?''&74O!FC.8EX(*?2?3O8+%SV=C.-D*=/[#CBN6VV^ULD' MSA;AD@9!CVV2F]WN\=\=?.)(>M[O'7?JRK'HU"_47U.$9.ZO3X\W>.KTFBJ0 MFJ,([^*SG=<-FNJ-II/BI.8,8B,-6VO5]E$T>QWQ<11SU?HU9;=-8481^^J9 MG6&_.7LXR=ATQS&[PWMV>3C%V/3)X;=M#G=^<%A7_#Y,-YV@0CYNM_-CKHU5 M,/>)^9WVP.ST!Z=C,)\HEEJFW6[Z#]0<2P.SW6G22.N.),R/,G%Y4AH9813"]JB$.Q!I^"*;ZJDYWEVST]Y6 M<#?>PB-CJ6_V6PV2ZH^DK3LCU!A)S9GO*;FA"_KODKEIEA@?0]?:CS=VHBW& M-]Q\O455US&[@U-N0-B0\*F3L-,Q^]V&A!L2/F(2?D OK:,@X2:B,!2_YH7]Y+C%<_:5_)*U5;Q"1N!7,S2Y9\L")G' MYRVZ6MZQR]>_Z_].\FKH&;OBYZ.8LY_G; R+?<6"&W:7G+TLWQ?OA^($0L8Q3#<_%WT2Z$R'N\-*D(8>MR-L%$*8!-(B\?X%JR5U68MQB3F MX[^=_<5WW7Z[/QYTQN.6W1FXG5&O;[-1NSWJ=/H]N]/Y=__LS0_ROJ,Q-0\% M@DO^^I*]J4)]-9YL1^D('^8/86V#''-[(%D:\96? H.X&Q#Q?&=4*[_A]1 L M-;\:=0V!,8YB(YUP^/]^[!E_9BP&5D*'A<&C9ZFD^5P*4$RY.-HM]P"[LW? R M"LJH><#^8P' EZ\X4$PXD']=>SS M ;A\;7OPC@ BRR@;D.TRIC#*/ 6@Z&N_?0.YADG'*S( $(RQG=&1/X$98: MP\C:'0Z6L0#7^4Y&!*-.WQHL0*$:XL6>G\T#%MLO_B*6O!R*EO$#GA6CJ*42 M/%B21*Y/( 'EE"2&X*8D!Q0 O8"@ #I^-P>_&QYS!:0"-N41M:EN_'0B(9<8 M7@Q**RR!5! BSA-$,#0L?A9S_!:A)1- #?@QRG($C /.4\OXSNFTRC2N> A@ M#\0F/9#Y?I+&I!_5 (GQ'$O%G-;K[W__+S:=O;Z@7^W7+S1@L1F0U"U08 ZW 6+A^SA,39$#D_CP?T=1 *_AB M>=.TG3#,X N@)M@Z;F@4A1G UW5C^'MB+6BGHY.4U>TN#RLOJ]>TE=1L=:W. M25L'1E3W2:!%+UKG!^MI#328A];%8" =C%5@#R-"^[IO+!2C@L) MY$^!X*\Y"1(_7%P\KF'*_+!@'.#YZ"HD4Q6'8L85\^FG9]T*'>**:^;AC3'S M8^.:!1E!%I]Q%H?G498:,W9'"U ??0CX[?>4M$L:32@@L0SM)5PD3ABI4(Y6R!HZ=DK0;L?"GT*# MR G0*WK-N.W_\#@Z 0I=:*UP6.I<6 XAMJ5KJ96$&:/-EF#0P!.Y1"R9@"7V M1Y:D2":%1@(-"J*:*2F/?PI\-A)4H9FA-!6[1:W _6O2<.PJYD*A $TRC2*% M+DC49T MJ?P8?BCLB.,EEL6"J$/+LOGU;.9'%FYD69+9K8V]1&E=A+HH6US, M"F&V8+"SL#3<@I[.%W -_^1J7DL8,'PPD="02;+1']Q-<= Q]W*'1-"CMDS4 MPL 2R821'U4R".2XEPB>D,Q@"6P6!)&K<\>RE+U\.3"52F]8]?[&PO0 [+!P MN1+1WV?XB_$KO#9)C/>D8K[S6RR*2#V#C@PI',RHJF"ZH58+00V// C M#TU8SR?Z>[4)O71%BTJ:.0](4W >8!"P6<)?J1]>>WXR"]C=*W &<"?TT6LY MEHQB8^1V[O2'0"T>%T%=JR4"N_+P2K MA@47RQ[>:]35S[KV4U]K>W"_40^RUJ&ST:AKCDW7GCX-%UX]\.GQ<$Y855^5 MMR"22<3F8MD B;S!R>H69W./^.I#4:H=*&Z:X5!O9*-6WN295"&+ MQ3:G U)GMPRR#G!'!9YGQB6YA_N1(4&'OAJ]5@>E@/[UIG4E6#_)L\H6RNR'TB8SRQQO3KKLC=9MLGFK]\ M1%G*W7[/=+:^EW %!=(X+9CFYUA MTR'TF/WN7L>ZY]WMN\#14S@9_#*7BMN<$#Z1,9H3PGM;N4!IE-CIN;4Y!1/3>9+F?=R>G*D$5A[T#4']E.Y M(/9I8JAM]K?.S:XQ MDIK3@:TU>^TTF^PB.N+C*-:;D38U%=J10-MLV[M.RJZEV?HDSP/ZYF!PSTKI M)W4><*0([G;-3ON>W0I.$;]'B,).VSI@\.:)^;J+3=R?FK/;,KO=;3, :FRF MGR:6G+;9&6XKUALL/3*6^F:KNVV]:H.D1Q=X6R>=[Q!'3\'+_LS3?>;:'2/1 MV5W'[/>:5)W3=+KL5L=L#YHTRI-%<&?0X/?8O>K>J7C5=OV]ZD\\25[1!7HR MQL[2-/9'6:JNXEIV#==3<[X=L]O9MDRU\1@>V_GNFG;C?-<=2_U[)+TU2'IL M5AINW::W<;[OZ7PO*%WMML[]N* GVJQ\P\W7F_-LIV4ZSBGW2FQH^-1IN#\T M[<&N&T(V)-R0\".&(6RSU6ZRJXXVC-2UK[EGHE:6\_AU/B;$4:I M,>4LA$6/L^5]"#?8NL:Q;4"Y%V5HBF]]A>L^ZW1O8EN5]O%N^)EW37 MP5CN+$K\U(] !O" I?XU+RYSQXNQM:_D=;2MXA,V D60IJ'YSH E^U]RN(K M>!5)IT>($0O N[7+BZ%_ED!E/-X;5(0P]+@;88\:P":0%H_Q+5@KJ\U:C$G, MQW\[^XOONOUV?SSHC,WV:C=GO4Z?1[=J?S[_[9FQ\4;XC&U,@5 M""[YZTOVI@KUU7CJ*Q7AP_0A+&V0(VX/%$LCOO)3X ]W QJ>;U)KY9?C'H*C MYE>C;H@P;EAB/.OV>U;;@&D#0*8QCF(CG7!C[,=):H1XW?PTHNOF 5-X(;EI MP ;\T 762PA]S_I=JZ^^-PWX'B_9^L4TQG$TA>%;+:NW\?".9?R8^ FM;!;[ M@&\ A^%E%)B:P)XX2 6<'K_A@?!A#,/5N3!VY&7N4B0!DE'[AG\S\R?38$X MX"])%E!S)UJ4',B+?7&LA-^[T706P3#7?GIGC.Z,*(L--TM F/(XL8R/ M\!1$>$I;55#P8/R0>DB-EXY9K 4?C'T>@"G(XVO?Y09+DLCU:S0F6/<=GI6=]-Q">&\(*@RXN=#DQ)QH%N3Q!#"( 'JB'%G. ML MTX\\12^I-K!G7(/Z@YW/&)B1+(#!H_$XX2DB60[[_>__Q::SUQ96QML M9>$5;;&*[&#F9[9M#7,0P$X!I6-@0O@-D#GF\!TB-Q\$ILCB&+Z%*0C8\R2! M6_D0\-OO*>.7FMWK%;^5LQGP/:H M,362$((@,:YXB-\#HHD9/_!1G+'XSG &IA3?2$H>O($#EP@IG8#)>C4QOO-9 MRJB9 <7? F>D'#CCF=VV;)T=%(UJ+(/+ M9!08R:"/_K(6J0;_7G MB,"A)@XT\5;!Y6I)\-78OR4Y#U(*00NL&X9$(M"ZGR/QF\ M3E^3OT#+N)B*R2_>?C(N81]^:GQ@KA^0S7+\-+C0(..P9+>P'"('86Z W$.< M5V.6LK!8 @+'^P-,X2FI'D5*H,U M B))T5UX+,1(7%>OF/Y%,A'[E^3ZF!7 M,>?")B[;LD(/).HSH*54?@P_G(1PFJ\F.[1 FE_/!L*'Y%5;=^Y*XJBD=#=P M^Y:L0;D>TJP(YRV+]D 3>X5&+NM5,J[#M+"HE.'/T%O13),16$]C/ZU4S$#+ MRN5%I["@>G FHAL6@B,'RO_:C[($%@:+O/9QR;@)?!^-#L$[*$9ECL4E0BQ$ MRTD8YY%PECP.@G?JAV+\= )*7/QYS,E+0""1?BCP&5;3CX^[FP5+TDGO)*)%)]5V:J7OQN_A3[&'? M<_=?2)&O"P/+X4#2N"ZQX>*H^F@8CQ23),9SP,GEI?C%5($,5\H _2.*0--3 M>/T;C^(K8&I!9"\$3<_0;Q DIZ57T04&_==)!2LDPG_SR?*OD!R?/EWB^LQ5 MUL?537;K7.UNOEO9\K+%R01UKNDP^TZR'U M(L%>LAFJ:X!8 C+ U3J[U,>J6*FT+]+"9AVV-Y]&N(B,. M Y/X _(R\ E:#P00@JCU3_#8& M9M9C$1A(S>,:,BSIRR"8YC<(SP!E\@K/P'A.CC9(!@HLV 2P(QC$HNG(8A$2 I MAW<#GH((HB6[8C3M8\OXG<."8RG/IS-P#E#*YZK C:XY("%-E VR:G5L%6!J MZ3*N\0/ +09;6* 543.*6.S1.8(/I@Y2EL&R=!+%9'"1E"?)3205\SQVDTR M$PDX*/(O ] AQ@7"&\QL$?XE"P/MYROPNJ[0>,H_!KYW2:=E,Q%)Z.;!1@NT MGR(;FD.?%.R3JYA-334[TO](?T,&(5-_*N+Q^%\TY8"[%%.E,<"/N5+Y @ " M7"O\U>-"Y\+BKH4)%/*K*!6&Q/Q7"!#!CU,.T/+(D/%3?%60_6_6=\M(.%@ M0O $[ :&C[- "B$ 21:0TDQ4L'-^FX87P/(I(&OY.)X\*@ M,48-LY ,6@$HDZ9,JV>10$RR9";X +;G^0E60?EAAG9A2N,3,*5C(-=0F!/P M?DSG3G5TEE>RQ._8=BWP.0E0EA+A\5L_284L6] T<_%NJ664C*X0B)MJF1M@ M (&(W&7 M;])N\DV:?).U^2:/XKE44Z@\YYJ3$.@J*GY6MC0LW0<)[I$LFD2!)^VR9>)! M/[L"!82Q%";D*J@0<=!QTM_X1UW=< $S*Z.9G5]%-[, M0N9.PJ^0%,SJ9:%]5AG!EUDDXX!3V9<*""3B-/A7!CI%GNPH3<)I\7/OZTO[Q\1YN^$ M*D"E/R=$QW9=RB!I#B'6. 7 M^E V MH42,-+<(]8<$0] 06M?>!2F)V"];0V#5:0(,G'A8@CQC+Z*7&XE$82GAN2>% M('PP-&_ 0DTF_DP+_N7A-S0'9R2P(QGBSI#0M&@)_ #29HJ$!)[_Q =B]S'B M.!96W>A.>!-)-OH#_@+3FL2T8/?BUZ UPVCJNUKPPJR(9\C@R7M*;OH*OWK M,C$.+0QH"25*:4N(%V-V8Z"Y^Z!"X56+\Y*8AB%!T9I7)1WL3@/<:,L@+%8;P])/&OK0VIL@A%BU#;@A<$DQ:>T /" MN>WZAG,O@[P/%O]=(_X_GGK\)G?%^=?=$6(D(G".692]]MFI8NV6UAYU[#;OZ6=<>[&>Q MW8V&75-UMK9X9[CPZH%O9QBNDX*M2E%",8228-BF.&^;&J=-JTSK#4"4M9N4 M[JW=[>8@DP)DLCX>B ]-P/A5I/)^">@@&8O#A$%>U!ZX8_ M4W@EF13)4DO.B1_2!.C4NAQ4;;'>Y>%.9V#V6L??OJZANF.BNCX2W0&[K&^H M](Z!3'(YG24BY49$D%?+Z(H&'T?8Q^-YK],UG>7WK^Y//&W1..48X6H/S2!^V^:0_ZFU]SO6M- MO;3_RL%:3JP,G&[L.HDR'3#!M3H=2N+L#RK:,FQ0%U@4BV$Z4H+)1?XU#TI- M!N9BMG/M \K='%034BHB\'A1:B^2O;)4C#-?13"78V4: >")E\]DU6B>44 O MXJ*:BF,[4]C(6I75MIT%<-G#BK*U!['%BO86DA,$(R,2X! MHV==!WBV^DSKPI$SC/S/6D.1N9I]1X/-PIH1+,_Z6E<"/7.$ M5>2-Y!D9"*>*CC1:@HJB4=DD0\NBL/*ZC:IT'"VE0V9QB$S\$<=\X\A#6D]\ MS#ZGW/Q2[X,(#^^01.: H!4'KNJ/(&IKI[+]2J(*UJI)C\<+=6EZCQ%8 "@W M3U8 Y=UN9%D0_C17&:8+/M, M[R(7!?3^W+@@T83XB#D*:"K=5#:%KG=U8@2(BX*>.4AH%M!\)M&42$4,U2T MG.MYE==9FG1!#+3G5%FYYXJF^8M1%-%P0U9)+K1'(E&)A;=%7RDB5S^L-LRH M5XLH;:JD1QV_31)ZGH3>69Z$ODW"3B]/V&E2UYO4]<-G:7T$)2@UH"7^J__[ MKPP3VE/B:I)9\(= _?[.3]P@HK0[XV*$_9Y^%7F+W_SDY]&9-Q_ 4OAS?KM_ M:MOUM.TRVJY,TXQANR88M)R*VXV/'TT#H6KT+RS3P)(O9PM LGE FC2"_5I9 MK-2#X"(,,ZJ-QK)U41L,]C8-(7*=\X61@L0<3=&HP M_".M;$#6WU]AU2,6R2J7E%(=:0(J]DU<4)?",),[%K"0H !+X?ZDI @C1+X M+H9%P/K%]E%' O*FAMTZ_U=N\/TIWI+&'A5QYL[ _=,MA_5-MRP8N5/!R-*- M2Z1S!R:A1^FR1Y>:^;[4I:2@&V/)#H]-#&'_4A?4D5<48;^_E4U6+EQ@"*R( M%3BUV^S<[M)^[:X'/\K"<^ GVZ;6S"O)9EC4F"C[L]SL@ZJ6M*(/V F8 M):+2HDCG%R4G\#N\C3X^=S-BX AK,'DL&[VJYT7UOGPNREDXY<;#9Y2!+JO* M08: D:=G6FN-: HTNSJ:9SF:YWL.+(#I.7\A?BW E?^I )$.ZA>RF%UK6XJE M\+%P %-L@AMK\G>#-6(JO=BF< NE0XF-/1(P^ZGC%D9=F(B R-IAL..QO$#V M2A'!(VKGEJLDL:*,7$FQI$1\?H/]=- PB;'\8 H^5?56J6#!=;-I)EQ6F5X_ MS4*1OJM:%NV))K !2]'7R*0@&Z8<4PDU1K2X2U2;2$6$D^:0T.".$Q%6D'^0 M]@GV28(_YDG+GBPG1S!)ETAFZU/!MDI=Q@"A/_8%-5$E>$%15$L!.,G)X_O[ M2\MX2YXC]:,@X!?]E,R'@@@I2C8=RFNN-Z WBF/ES+:Z-X.J5*^DQ0 +MX[. MHKM(- 91?4B(0FK(KA:= 9-D/E&KN+$1+3LE&W&2&AHD1S1>BBOQ0&6 M&\F>8E8Q>-XT0$1/\D;3N%@PJ+)T(0C4;OVB)*?XIK2O?("U'>26+T*&.IL+"2F:+5'M8Y!7)Z%( MUW M!$/>B)STI@L*"5=:B+__0V$5P)FJ?*Q4:YNQJ6RH3OLEW>R3()^W J2< M06(\O#S0$U6 M0!6[[0&E44VN5EE2CO<3!3#1DX;TKQ#D-!=V;*=0%XY6,<-2[9OJX5012%-8 MBL*K2%U??"5MCR(D=GQ6\J7LSPG@^ZAPX#<[NEWM^EM9T-7-K%3/T#.;E?+[[]$';+QX_B MO^?&EQ__>/_-^/CYPY=OOU[\^/CE\_UAT:VW>V_8EO$)+.! ^+<<#>'C*RR7 MDAW%+]$^=GK*4#6#>9X((4Q,%J&ACP856%!QT?! J2U2$2X+,;:EBH[ILRQ5 M#5.Q[IBJC/,I1 ].<1J7WF$9=*II-]78"$0%N419J#@4.3NO$4:K";@XY>C& M!80/X%_JL$85T20"6,[3!O.PJP)'S<7<-*\CS[DXKWL^.E2^*U(-P&RELO@R MDH2]''-SL<\8>I#747 M;',1<8P!>6B&8BN *QD!B+7*>;2F9AGV#\3R\H#Y MTU+O4WUF37WKOBIF)0$RI!U3;I,J!Z24AFG>_$&-KZ;.VU-$,S]<$B\)T<)1 M%>_8%(#3]A0%%=LSJW;$KAAVE@"'WL2>@^C]4KM9049TSKJ*S(09JLA,W0F! MJ\P+SLTJZJ,5Y)E0#] H@WI+41D5NJB(DF*T&8^=L4'!T3&C=O-1D;12A(X2 MT4X^G0CY"N)M/I!N&G=19B03T2\!N':$2ZCHW+J M39H[RYI=5H2=\#HHY %Y2B#4VH5EZ* O3CRD"[CTZ$/TM1"CE\X=U,'#\J'O M?98@FO&HSD%:J\!M0(,&'5/!2O) 1 \.:@J2:!Y?T1$1A\R#=I?1=.HGHFN/ MR(T0;2X6#,DY<7QO<:!E>M!.$PEYI4Q]V7JQ:-3T,XQNPJ:-79%!T&W:V#6Y M /7(!:BF4- :62+L6W%X4#"SQ_E4'CKXT\+DP%[*&#[2Q8XR4W8M@.;TVPVM MD3+N\DS64KAW5_)=!!.*/-6P<-?G0PLE%2#C:-AUJ'0^7JW)#'D+A= #Z\5^ MKBIX'@81T;1DHUXK=;E^I=I,^R8:J0$IC .?.JF)-GATH[3Q'KN[4BOO5:0F MCWDJJ.WH++L-P#&A:T9PLX+($G2!P;V"':LN>Y$?B$;229[6'J'Z+AVKB8;? M8IX\V%LXKE=!-,)C*1B*>@'2#7XHYT3GXWR%HI,U=1:4'9*+W$HZ3*)>Y.IM M8;JHOEQJMF*YU#LPO[93W?TIUH)YD+'TA4H.4**M=\K<.*KJ,R;#Y^13:5:4 M=*U";,.-)V=ES_U>%+:A\^38Q^ \.16^TV\A4)&?I'1 _EWEQ+\7B:9S\NPW M$'0[?Z>'\F*\M'S*- MO_JWK\(H_)Q-8482([B5;V@9NN>. MAX!=G1D"7D F[3I2)DXL74B5LE'%#N;Q[?P[LN MUWRD4J9WA4;J4LO .J2>QWZ)FBC*V&D-GC.BI6_Y-27&]_-_/L RZ%=9!D + M[CG(O1@ _$IDM-V]KINYT*LP%][?3OR1GQZ?I5?N?\KE-O!(ZW%XNQK8![TT M/<^\'-T9&M9;]B+]BQ2X6&2A>GK2C9X^NPE-M(^K-^S0&MC#(^GA.NA;3F^S M/K:[;9D%>'U\8=42J4/$Q\;GJ""^!S1Z.D((O*.()-V.N557RWNV]SS4YJM[ MV;0M>[=HWSU8#G$>T]KT/*9DADB=^/K@"Y2'-),TG26O7KZ\N;FQ8)W6573] M\B)V)_XU3UYR[XK%+SV6LI=V;SBTV[V7L%[;;G5ZW:$]:+4&W6[G);/[Y_UV MJ_MON\-OVYYM3=+I7Z3,:/_;_G>KW6UCZ$;5K*.6^\;I=-&,_]_%NA;6,N;_S%X*V284#,ZKC_&P7@ MP PN0K=TV#$ 32PT<'ZNK!TDZ+GK:NX7%6=6QZD EDD IP:"OV'RQV1R\:/3 M)MKJOKR9>.<8UVLYK?ZMW%^;6'T)8[^]PS3"52PLZAER9NK+.I #\+$L03EY M-K8M^[\;1CYB1LZY<-AN 1>V;W3W_ MCB(C[K(LD3.E[$HT-\&,&<\K=]70EZ3FNL_E4[6'/9+>]\M_-*3WR?C!;C'7 M\LYX?YMRNEO:^.Y.^)3EM'BR%'!Y\:FA (T"+EG@JA/A3W[X"CY= MO&VH0*."3VS$@R>$_Z_?WC?XU_"/[>2Q@?P3$P/OWG]HR$ C@W>8-RBQQLT06LY!R(IH-:6;0Z&0-.JKAZ5=T']+@Y89VV MU6UW[I42-K"&K>6/*]*LYBJE90K<_1-02G2V^DXE^E7Y;R,<\/F)#Y MWXO)I>+?#W0PBK6:Z'PN3RJL\=:6[RV+0S^9;+2_,E%K&<%+RK[GJ&S_]?B5 M2_1<]: MRDC/[UV9:YQ2ZG0,C^UANV/*#U6B#150>QFVNV%TPY"6H"[['LB^S5CODN*= M,Q,6C$4G:"XZT(@79,. +,1V53@@R]))1)V'-\IT[QY7IGL7#)?A9MGCVR6L MMP>;&4O;+-:QAHZS\U$[#@"ON\L$^BT\@OV\6N%G"&%5GPQV/0FORHF\N:!+C+2;,QH]12E(WE+YC*=\//1^J\$0-7@.?C"!<26'S%M0C+I9&K&IF MM"0D-O'Y&(Q0=>?#%W7MQ>6$^3%,J$S6MQ%>LH1AL'>RU< 1[O;YU_P:BX4M MOUB>>-)HZ_I(M$9;G["V3OELPD/C!_."R/W9*.Q&8>]!82\ALN/18H7J^E]0 M7'1\C=?[IJ2=ERCT//*4WW'^@[N3$/9PA5$H>>&Y*3\O+N#XHMT!]0-[Y&7Q M4=HYFN9?V-Q2S;]P E7>S?YBB(<_!ZD!MXHCC_[R(X^7H\B[@_],TFGPYO\# M4$L#!!0 ( /"$:5=*J[;0-#WA#&E8()G9ISG"%J")L1A9[F[F MUT_)-PR^R (ZXQUW'M)"7Z2V )U.,&"F.B)B@42"X)^8?P; M?<1H:&$Q8WQ9KW_TV#ILM>9TOA"HU6R=AF3AM_SF\J)Y:<[.SNHM/+VJGQG3 M\SK&K8LZOL97EU<7IR?XE/PPOVFVSL_/9_BB?C5K3NMGUV<7]6GKTJQ?7EWA MB]/K4P-?33VAS\Z-8RS($B,PS79NGIT/M840JYM&X^GIZ=W3Z3O&YXU6LWG2 M^/5S?^R1U@):B]K?MJB?I]P*Z4\;\NLI=DA(_K0P(VH#&\)UGHAE+0@VWQEL MV9#V-J]/FR&Y%$9SQ%/;$=@V(O&FX'6Q7A'G))T)OF_([Z6B9KUY4F^=)%C5 MG*UZ\[1^>A(?I"DBMO@(SQO^ES6$A>!TZ@IR#T#?D1EV+6!Q[3]<;-$9)29X MD46DGVP1Q+X6F,^)>,!+XJRP00I-X\,@EB$#!*$S=ECPR2T MR/K;)9&"$B>^]WD"%IS,/M1@!ZR'\?DW"T_? MP4!"BH3\[44GOVX "['Z&T-"7NEP'VH.S+]%_*DIL=TK3G3M!A8'=DZUW/#I@#DAS&'9\H MS+<]FZELP8?A].5-ZN#AKOLP[M[!B_&@W[MK3[IWM^U^^Z'3'7_J=B=CC1E7 MRU+"T0(,QC"9),0CE(GB0E$@%?EB7_&*S?$0P/^?NP^3\>"^]] 9?.X>B&B*0"629\60W(A&@WOD"W_%;S/= M,!_#4?<3T/2^=H\.9IIT);+G^R"[I>D5YP02X\F@\_.G0?^N.QIW__NE-_G? M$6%.$:Y$^6(?E..*_HU\5:\HYP%QS(U71Y,2_\MCX?^Z.^?$W_;XTWU_\,NA M^7*Z3"7&5WM%R.),2D-8N(#'N"DWTT*_-KL'UNA ]5C*DVT3H;$CI I0 G";W M'%^2MPPB63\@D%8A0'YBS'RBEA7MX&")/:<0'MH0 X3&#G3;K1GG/BI?"34;OX=&>+4 )PN0L R(JG/Y$T]+8F!5;I_"_W.[$N#D- MKYSSJ]TY]QDK-+,=MEQ2$9Z*.\P6U)X3.,7JI)9Y0I08)$[7,6G>3KHEKT+0 MW&/*OV++)9\)EE/CS8C& 3J5705'*WF"!CG($X3BDBH$Q)C,ID K- M_#Z%U"&SJ-Z^<9"6'$2OK\_/SBX32^F LBUZ&^JM4MJ55H.=R&149QO*EJ%$ M,+$F4ZNYZ*TOKTK(:-5?=2';1[@2RT1!:X\2;Q61CA5>=7%,LBI12M2T8C*J M./L9]5M=)/+%*%%)5+URBL%51$E5R]6%JZ \)6Z)FEJ1"G$5 0QJC;HX;;,I MX4A4V +^*LYX:G5 .[?+$:)$(U%[RR@T5!&=W;J!+C 9_$I,$K6X1/6ABFCL M%A-TTM*7XU1D2('%BT26$0+[>PDL6B(R7<(K" M^I3.D2BC%'&.C?I=1]F,X-5+=E'[8F.3"F(..9,_ X1'Q'$MH;_A'Z)$Z0^) M DX!?PAUHE I"K16T@>T:M+:X.\E78EZHORS5\F[@F#'BL[:4*;P*H%*%(:V MJMX5!""C7KW'*2I7CA*81(THM_!=0:!4E6KY>W.F:Q$V"RFU,=Q?A1+>1+FI M4'T<=LE I=PF(Y97^%.P"1.8"1/8VOWV^*Y02)W*+:X3=:^B;K%)GKP!I%U; M>762!&K[%TZT)2NA3U3&"D)?[9I*X75Y[PJ8UO92UO+_W.\(?01=2B](E-+T M X"O'<755](UY/TQ^R_P5&XE?(G2F!13^44:7&S>I$O!!PY,%9[/.9G+'SB> MKCOP9\[X6ANL?14H\4Q4L\+KYMN96*@.;>E#TS4*-589]_T7898 )6Z)JM,& MMVHOQ^PB-J9SF\ZH M@6T!R;F[7$FMCF P480OJ4U>RE7T%2O=)E&D*N0VL8&@V$B08"@:RZL/Y4'9 M6<#YCCC4?BE?R5:@\(GS9M&;)+=](E"(J/V*? HP!S3P%!*G1#51?,I&M=KY M\VY[Z?[(*24I04O4BI(MJZ]P;4^R'Y+HG\2,&@Q[MM=B(!5.UP']P6!JZE%" MG:@KI4&]41IKGXRIE?6(D*^*SK#;C*Q_ILH0H(0O449*:V?^9R/ROK']=!7_ M_=836.3S5X*'67EX/2W,W^0O8C![+)CQ;41,XN>2(\DR)+S[3!WI^U]@0#6$ MIX[@@-R'V@Q;\DD2\F$R_L]\%)1@R^+^5#Y60G#Y2T/>8\1N "+*S(GWM C_ M\4GR*3LN:*/"E<)^XLQ=?:CYU%2090WYSY;P/W$DO([L6)8R-H^?V34UO:"R M<9L)>1:W%IB1::J&!+6IINMW9Q:T=?,(M1L1JE';'#8U#"UY;(FU2L!K/X:1 M/I&/[9"/M1O,OCC^I99;V9A$VH;A+J4/$_..P$* >">'"*SQ:Q\^K6PX!4L- M^4G/!K4P.XZ3.9-_^[@T7-'_:HHM.2H @DRIGH/"\H#0P]=JN#I>8.S9QF>R MG,IGHFRFSQ]FL.1VR5[2VTRVQ-3>=WEUGU?$=L@ML2&N90>18LPZ9GY/U#HR MO'UBEDFXXUU"G,!QK"B6Q9C+@+#?/2C#G6PUA!!/%*9ETK^<-86-2?9E1JV2 M]]M-F1XHF9ZK+>< )S8\:2_DQ9\Q-Q:M9NMD3 QFF\ SF,U@5/8\'V4U7QE\ MMVV:7E*%K6)69=.7P1H_YY*!PY$Y%WQI*O*S'=JC&Z&7B@WX'-O!/@W;]@.6 M'16#V6 5W+'BW^F;A4U1[B,8:8J;!5!RPYV27M)<(1U#;2YD\C ^/Q;<8T/6 M_->.//Q*\8\_[YS(L&E0YV%I!T+:GC,+Y^8(+(+$T6K8D9N_PQ MQ&O_!F_FW;/ R:WK@-DY">3A@LL:AV5'2\]+6N7'\K%UD Z+/GD$[YX3[V#U M&3_3I;O,G!P=$2]S)EN!4Q9*&QH$#LW852ROF2D M7OE*U#:&#@=A> H'&^]P#!OEW)9UI)X)I'1&<=3C%KBI"=X<<^/ L;=)(#NT M7/EX\["%+7.RONL8RGFRRHFB+(RBP9JX99RS)["I@U= *7\<5C\T%Q!:UI"] MJ><,GF!![5$'2N?[>ZL_#ZY,WP:S<"T$A=KL'2:;X862)VH+,O?O]R\64F+W M]VW2U0G'MH.]>D>'.3GV:4HIY[)NPSL3@M)M?WL5*I)[!5<94OP1O(VN"P:% MD'RK\CA*<.#>3DKNZ3,Q.[!VY\1[,F^8EQ3,:;+97VAQ%DMHO"L-([**[O%F M_Y>ZY%I(0!GL3:^G_@2\LA8U@/3O$5NN-XA!U 27G>CL*ZZL9ZR?R;J[ M7%EL310Q-86P#/".Y"5)*^BY5BW)%-(RV."O*,@:5]@NN/P2Q&6P XY 7%ZJ MNB/^WYZ=OEIB1ZG,=;:7K))>%/&8*8 MP4+\RF1K@#I3U193@GSA@646CAA"<#IUA1SCA/D%:?GZ M@0&++3BS+%E2E;]21IQL[SBJCK+N4N$=4(/9[IV0W>>=LHM7\?;_4W8Q'"JV M)*T-_L86-0X4V043Q&78/Q2!#ISVP% 9EU#2:!G]9E$^B@FR,N GDQ(70HD\ M]K"9>(+3G"*7R68HA3U>JM7O=XID9#&R,HQ]3 QY$\W@D7!;=@X%;9KV7-VL M4(BU##;&Z_6[ 3PLR^>;JB.A#!8'R4YT90?/LZ^6IM*6XD)0>"E2=H7@%97; MD:S105 %O\OIE%.PE35YB5T.&+O3WR%KG; .LV%Y.7Y_*&F;O[N.R"_":THI M8X-I *#F[AUQE73''J\8L_S$T%C8S&)SY1D^EZ4,<6:R(#I7$3+)RV#+T!6# ME=]%'J2!^<9DTY?@1!E;XQ.VN4@UQ-3LV4%43%]&V6U[!X@L:\A5M:>W@ZG( M=.C"_"_5/E:PGRJV*WQE\@*SUR9>)#THP'GL/62?7$'9X28[#[S?:-^[1RXF MX6]&4]ZK,W!%P4"515V",-6=S2!!H8_$+TW)Y00)RA>'F)"\I1>??,I,=SU M8BER7K^Y/>H[E3FLA;T^I' 5%FF.+\)?ACWWF&U6P4*UYVFWP:B;.K['$,K9 M$;)I#(04VJ\ 3S@.[J_0Z2O,9R_%\AK*>YE<[R8G&0:"#B5%HI?+4X9EY"?5 M4?Y1Y!Z3!/'WM<.[U](Q%F2)/[[Y"U!+ P04 " #PA&E7G3&"^>\> "' M.0$ % '=H9"TR,#(S,#DS,%]C86PN>&ULY7U;QDB.MRR++3R M\E569E9FUM__X\OAY,D)=O/Q;/K'4_X;>_H$IVF6Q]/]/Y[^Z],K<$__XQ]_ M^]O?_Q? ?SW_\.;)RUDZ/L3IXLF+#L,"\Y//X\7!D\4!/OEKUOU[?!*>O)^$ M19EUAP#_6/ZS%[.CK]UX_V#Q1# ASS]V_M?N=VN8S44I$"$Z4"EJ"$$8"#XX MZXSD0>+_V?^=":UU"09<81&45P:BL!FL<\%(+U-P?/W_^[4OL)K_-NOUG@C'Y[/S33\\^_N6[SW^6RT]S M[_VSY5\O/CH?K_H@?2U_]E]OWWQ,!W@88#R=+\(TU0?,Q[_/EV^^F:6P6$K] M5KJ>W/B)^AN?=B M]^,_=W<_?21.EM^\^'J$?SR=CP^/)GC^WD&'Y8^GGP\R5(TS+UDEYW^O\:7/ MOI&D._GWUUI:XY]?AE@=.,IP([?_YDEJY\:%+5->O._^4D1)PL MWQT=SV$_A*/1Q\4L_?M@-LFTFG;_^WB\^#J2+ED72@*'W(+2J8#+F8$*,@?D M:'G*5Z5669L3;TLUES"/2UV?/>)9E>$V'8 M=9B77_V?87*,(]191FXCV.(\J)PXQ! SL((R:U0B!]>8L15D7.7L$F)VNO1D MUI$(R*0]??(9J_DYLVZG-(4N78'2]ROK[!//YL>'A\OOA/$"#\__?>EFATVU MOYBU%?JIHJ*X(H0+&0SQ 4J% D'J2#^4-"*7(HQJK/KK M-*RC=_$X];Z5N)LI?2?G<>4]3-Z'<7X]?1&.QHLP&?&0O/,>"7>&$"B2!]I^ M/6B)R+UR-GO>6/F[*C# YS.QR?XFH**0WPSF\_?X6*O? I?1IQC+D)%T#P&\NBS U^D M O+SF9/2:%%T:V-R-Q+7 9%^G"#J4UG-$/5F'.)X0L80YR^.R1F:+D:,4PQH M90"IF0)%3!+/2+LC*Y$5:S!ST1@TWU/18*7,CJ>+^?OP-<0)GO,F;7(J\%PM M.AGX8CD9>(IJ425IG-7%ZN:[ZTI*AN17;XF!%;C?5O3-X/UJ/*U)@3=(L?LY MFU_/*0I*<\F,!,?J@N."7#YE P0CA Y6*\]E8S#\B)XAN=R-(=%,#$ M'0EBNK^:)IVBI:B VWSQ&SQAEQ"LL6!<5:R8%')UEF%'U,T)&>\,3@:JJ*E MH]4=8U[!J7."9:XL$:')C'F&!%1#5DU8A>3SV6A[V$%6$S,D#[S])M) 5OC MX?-!'I%O]@$3CD_J;K:SWR'6[/QW..4Y^1"= \ES!,5X B\+^7#"4?1HK3(V MW9*^7?]I0W*;&VF^)U$W,PG/C^<4$L[GY,9'VLZJ8%[,IM5N$4GT:C[.2SM6 MD^DK=CBAO00=(HE#\P Q^@Q,!86E8"C%-[89FU.[#K3,XX+6/:NP&>2^#T@I M;)P+*:1!XVB1 M&%% B4P6T]&OQI/A(9N)V6-C^+6AO+W\1E%KP[SFP#.C@#X;#K%H0E-P)G&9 MBA.M4^NW'1<-[5"E=XQ=7Y9;JJG9!IO7,=-#%E"OCL M#"3/>2!W5&!,C<%RG88A!84#@,I6*FH7'V$I-QC%1A/-;X6R/X0DI!(902 I7)MA.:R+_'^6OXXXER+X(("[>E!N7 !Z$:&P4'Q&$43S M?;1_KH9D;!L@<6 PZ"EW=XWZ4>2F,*D3Y%JNIKPN$+Q3$!,J2V\)94*OJ;MK M! TI<]< 5.V$WPP/?\YF^?-X,AEQ%HDU;XB;Q$$E>GK4(0!CPG/'8[0I-E;] M^;.'E(IKH.6-1-I,H2_/"K-.#TD_A2^G'+TC@+F4$S>I &(2H)@5X$.4D%%: MY;D0NK#&*KZ9FB%EX1HHO9'8V]GY>FI^1@.%$N?YW\@Q%1,H()2)MIS,P;-" MH:'*7AL1#8;6V8R5A PI3];"KF\M[&9ZI^ N3/?'-05\#L#=+V>!YH5ALLN* MS!C 6B)*,4^\)DFAI.5H M.::&T,@W7H6@<5]O&@HKDJ&L?@%R<"*HB82@;' M?:%MJ@B(AF";G&3R] M++'Y=EA&"_.<9^&L\R4E*#K1>@_)0"A"@C#!>"(RTQ][JG%:1<_P@NH6X&BF M@8:[Y@D]>]9]_;.;S>$_S)=_MXIA4"*X]V2&EM"7'C=-^[VT CR$; MF00:WSH47H.LX47)+3#16A]]%/<25:N.V1PZ&T,MGBE$%3,>/$5R$ (7-AEI M9?/FN=MH:LCS*!7G>=8%:"TB"3T2>XY%X!2[&C+&2LO6!S27'C\DKZ@I$J[C M?U.1-VV@&R\.E^X9.6SG)1VI$J14B,$Z#4(B Z4K02I30,NQ\*RR]*IU"\0/ MR!F2,]0K)EJI9&BU-#X5I4TT(+#F0[6H/?(&@1F7#$JF(FMM4OJHI1E, 7%[ MY#V HOO8L$"F),I8*>B>%B*UMQ"TD#70;W0M)0ZH :(6&EEJX!HV_/[LNIS?T>^,A6A\_T<^WN^\^ M?=Q[]?K=B[VWNU>IV7R2UHIO[G&$??AM),+(NY1"2KAW:M/IE MKE7520++D;-@DA&V==)D!1G;#U8YP>DQOJ*54A,0'0G_K_'BX,7Q?$%/Z"X. MLFNFEO[+=0B#$4D(K3F@,W7@0U$$;F^!HU6,+&!,O'7UX 9D#BE.V18_W\]> MZ5=K[TJ?5QPB,$"JNAH!&2XNC:EWB_FM\@0XK+#-B?.*4OGM1* M[WPXGH[GB_J8$SQ[S(@%23R*"++X>IS%/44#N#S)"BEPJ4UH[82M1]D@C>)& M"/DNI=E>,PU]]FY\LB3CSS">UA6^-_WV7O47N8M9IEB@:&] ,0H?HU1DH6V0 MGDR!2\W#MEN)&J:5; *6M@II>$8W7^R56C.XS/EC=S)../\XF^01;2T$*1-(EIC3!I-LWD=W,S5#2O"T!48C#31#!$'QDEN0")2:>* PLCA0 MUD1P1A40Q@:=DD+F6F\K5PAHT'-7QHLE*[7$(PB+4+)0H+Q-$*RC*%E[QE0. MS++6XQZ^/7U(N^#F&E[1RK:)=/O!ZEKGAZ;VRB Q:ERN(0D:B"5K0"L-%D9. ML&\="]R9R$'M@NW TJ^R6G;IGF/:%.NUXP@L2<)TSAF\\AP2:E_+\VE?;C_K M>[7%V*3P]%S6YS'[>'I,TCW;O6;3^7,LLPXO\HDXW_U"KBL!;#P-W=?7!(OY M#8K)!J.PY,C:Y1P(3HN=@,&@\)A+CD&&W+K9IT=VAF2;-T3?]_6PPU!^PS+J M,T+/?*[G%'21H$:9Q8S::F""(:B8+'ARC8!E^@ZN@N>R]:9^ RF#LMI-8;2= MU!M#H!],.VF,\,R!XY%B=$G ]HQG8-RC=UXI85HW9]R;06MS]N =!L\D!QT- M!U5[CQVM>.":&<]%L#GWUK]_4SCPL*9Z*'B\,1N[H?9:-HPNN3FEX\R$$,.S MQD(^G-04/SHJJ)&4ZRJ:G.@(0^FCK+E.AEO:3F4YIFM'U,TI.S64-'64*47;PGC_K'8Y??W4A>F<+,CI@++E;V+[L0KJX927EP+1R#))VB1Q4BE>]U0&R1I%"S)J'UG-#^N%D2([CD' [ M -RT;&R\2:XCALP7(QAHVCQ!%6TA9B_ Q^ATXL:QU#HA]0-R>N1TL_8M%U!S M+T&(5,>$:PW.F@S2%O0E2DMVZS'MKX/=E^Z$PQ5=H@^F]?M8I&L1S;4P1LL M)G':71W%$CX'"RPFE4JPM2WG_J#ZZ,X-'P";S=7ZX''BSL=_OGJS]U>S.Z=7 M?_E]Q82KN6D4"=8Y/V%^0.[QR9B^[?G7?\UKK\1%,G2'_(F3LV$(.BFLWG(6 MIJ8*D('SS &'4*V@B#2>F6O3UV#4Y*N=HR]Q-/_OYZ>S\99LNYB1F<+:-3D MP=5[YX.FY1>XJA(FAZ-*_7+@/^U(6,H\*N.K!:_)"CG[/!TE6W+,44',3(#**"#RQ&OE:]$^^M*^I?%[*M8!BONY@+*E M*MH-DSP('3ZGW3+7+#$%MTL9C1+C#H6H[92F-E:2X:/G9\A%1,(S+PJ\TG7SS,GF M@L;X'@K$-R5WK;0J^[F0=E_:[7'4XK?.\ ]X$B;'9SOO1?@XXD8BER0?[TT= MJZ$X!!48:($H$J]CWZYM<'>8NWC;T]<"U<^2K+\G)36<]_#M-DAZ/<&SZIDK MUT*&)#EC&"%B**!LT83PX %1YRP9RT1G8R.V#EUK >N^:J;NR5HUUU'-.8[VBRD&L-T1GR^GI2=(.WD,L?Y<"T/LJBK^_T'T3V;>[LO/;:)+Q M_&@V'Y_:MM.C(4[;I/&,6P8VU2XB% $"J@!6>RS<24)KZV$0/Z9H+8RHGV1+ MZD%)]Y!A_K:#CH@O[VQ-.V63:DR8R,LJ$H1FS/JB?+(]=(W?2M=:(-(_&8B: M*ZR)6_P]53^>E%VE4'3P&F6&2+2"4H7<+:?IA['2!^Y4,7X-GWB#1Z\%G)\D MN7P?VFE7^DF"N'8_X ><+[IQ6F ^NS_PZAN7/OD>N_$L?\_K6=WK[I>T//3[ M$!:X6PJFQ2@QD2J7$%*]2;3-FX;NE<,&8WK6Q68HEF?C M% A?R.Y$F2!H&X&[HA,71ELI!E*;]\"UW\/%^(K!/WVHO^44J57TU:SV_!I] M5@6+D2=PY&615VYYO?R&DW6S1*%2SF%K%V9]Z@;5>O3HX;FM^ON&Y\5YW.6= M74E9O#04-%H'BF=-06-1P*14REKFBK@GZ[F"NB$UN3]^>&ZK_F;P/&5QKUQF M>V^ZE8!'2C+A>"P@94U\9:/(0Z5E%Y3G#*//_+I/OS6.>V!C2&5TCPCP#PVH MAS#9'D2 ?O5+0,HDVTU257ZF6E")$+E7EQ1&3K5/2/ M*7H,+2:M8=-01RV/KQ)B7@XO>CV?'U=<[Y4WL^G^)^P.7V)WM5 W).[XO^+155<\0NHSLA"&@X0Y2J&D*K@5$ M5W.IM4'*:,_;CXN\E:@A>9L/"J!-%=7#UG6U9G84B56O:2-50?$ZHRR *RJ" M+S(+D3RQVGR>] VTW+&EXB?;KK;02W.4O)IU'_#HN*-@9WX-O;YH5)','8^U M2E+R#+Y.+4!TEK90Y,&W=HUOI^J.'14_%7(:Z:I=U5>];*B.O"!)O0T9/\W> MC ])8A?%C5]KU6V8?GWSYL5;/(S856E=_E?S]V&<1]*5J&.JQ29^V70>H![. M07"AD'P"NN:&J1'I=VS+^"G0^!!:;P996C\79OB*JU'.))#KYGCA0'WFNA3NI9+LEKTY QG M2B,VOQITTR.YNQ7#7-IT7H2C\2),EA,;\GAQW"TK*X07J>;Y3: ?,F9P618H M@:6(B441KSD'*^M>?OR4QY ,VQ84ETM<&LJ\EW#T8YB0WT'OY./*+)X-[8A. MY5P:WR:[:3_/AYW M>#[N8'EU.#FR]?SD]"]Y)%P6JIYJ)Y,9(=U3-*24!>&*X8IY%F7K=KF[T/<8 MIJTTQU5?^NMYPMVK"7[YN$"<+(D[K53^6$7;?9W1TL )^:UU9OS[LY#J?3=. MN#-9 GK9&+$(X\G\*K%K3;]K]. VD_'ZD,*64_/J7K=BY,D'3+/]Z?A_",.9 M\#8NXV5AY])RG>-K9WJY=8[^=GQ(;U[YR,7)<+W5\O-X,ADI+WFJM\4E1O&& M(B,(7F<-5A9>N,92DEK#6;E'DGN80K0QJ:>#D1>GG_Q6<#L?\8@JR2P!-9)8 ML;8*F6# \0M887O2P6.MSEM?FG)T6B5PN"PDN MU:MU9=V)!2AM4N4I Q>%2U=\R+'U1+E^.1J"S_W+KISM\#7,-7/9&BS[Z4>U M"U$[J<'D&@.K+"#ZR$#DY)6-)7#3^O2\7XZ& QK8\ X&N2^XVFP=513XR/-4&5B D+0).Y4)]C[*,!E MK;WGMG">![Q8;F1L"'-'?]6ETP9M@UQ(Y[?IILL!V"AJ(XQ,!82O%?M*9O!H M-;WBK&2GT);6=:R_Z@+:'F6#7#R7!YQ8@TX7G\!87T )0S9!1V(+ M;1".3(%TKF)E2!+^AIG+LC98,&GR7++,$117&9QA9'I-4CE(IX&L:TAKI$]SM#VJ!FF.SBK5EJFBO3@9[Y].CU3%BFC)1R$_)9/4=0+GK00= M-0JIG;;&#GBUK.9J" =Z'6O# [AR.N7645-T?9(%M3I49ZVR=MD PF>(RB)]9[?Q,%F ME75*,MIP#S>DM69K"&=BO^[BN3NR!KEDSF]+_!2^7):[0,9+B DP1 7**W]Z M^Z;.5G&?*6R_/N!_4"MF-5=#.!K[519, USU7!-^Z;+CS>N[5WQ)FUKMVZAK M=%OYQ8GEGUT=]EYLTCFAARA0@')24?3)&7"=.<_:%4)1XV5_E8)FEW%]")_? MA@5VXS"9CZ0HA047 &L!C\HR@?=,@BI8LBW.N-+Z;'\E(4/*L6RA^1NOW=I8 MZ#U1LQ'QC*6*:8!(HG5"2P:?+WSRY18;X>.DG[T!8$K ME PIYNT# IN+O><-__P4-5PZ0)WB8O/-_Y8O;.,(W(7J!LU8-QXUT^O+T_FN ME0(^QS+K<">EX\/*9_7_OMTK=.TZH=//UHNI%UUM29U-EQ9COZLFPTKKLHX2 M;'044+%,NX8A=S;IF+)SR3D5;U'+ -AHT&K=-_FC[(1P040P6AE:[(9!)%\< MR#W/,8;(F&H^U*=_MH;@8@T @'=:1RNZQP>%OI83##9A;$V6@D]>*5?(QXD> M5"R^-M-G>D41KBL\2=$Z6=\K0X.8)/J+KJ4>(/?0J^A.YH'G(%&0_XFIIK$, MX^"T4L!#BMF0<5"NA\&6][LY-93\J?NNBY',5C=;1ZQ=?A:\DQFLU1I=-$7+ MUEVD/Z9H")OQ4%&[MJ&XNVZ;K?2[R.6*())CL=@208ZXP> MC4RM$VZ;TCJDC,S0,7HO>'CH?6JG+):W=:\CS*BXY2H:T+RNREI!ZG),H'7) M):*2B/=F<9MQM=6LN =VU0+/F%C@(.I<")49@O>8@#GCE? Y!W];5F< ;/P$ M^V9?J^C*D+Q'!+;^K=JIGQ"8+9D%!]XZ"8K'VIM+-C=9P05/*2C3?+3WUC[@ MP/?7OK'<@VI[3J6?-WB$Z6EKQ;?>OM/2@(NI8J^.Z\#*RQ+:/-W>X*%M4O*M MN6]TEE\/7A;X9GQRN=?RE*)WN!@EHZ2MD\ ]D_4B=XO@1!' ,' F35*!M^[B M_3%%#:*3F[[]LLB7@U/G^'\Q=*]FQ]THERR$3!J**(8<8*?!8;V1RV=MI(\1 ML?6LLLTH'9(7T!!;*X**OM78,B"^*ZWTV1&1:E.FH(?%6O6DF()HHP?##(5% M(DG/>KA:; -*A[19#PMR=U7C T'N'>TEGVC'.L&WL^GB8#["$+QE3-<;KQ(H METE@R4?@218I+(FL^62Y[2@>4GG$8""XE5H?T/I]^CP;810FDO@A6$^&6FL) M'FL/,$-I.1$JL'7MU4:$#JF M)Y(@\I"YY@I]2(M'8,(1)_)2/8WUF@L24F+@,DOU M?@9'XO/!^]8-XAN2.H2)2(-#WF:*?"#4?<##,)Z2HNIU;I_AN^J8V>;NUZ&R4C".(O)[2D_%-3=V:P#&9@A!R!4M( 4*=F!F9]%JX M9&-LW4YWA8!MCO2N?-'%B)_W%::T+A>G=[G5KK!/LP^8DN?6/@C@2;)*(WFC!3747E602?K0$RB)PSK1)7K9/<6Y [B K+=NB[ M;P4V0]Q?2P%CWCG!+NSCN^-Z5V6]3'YR3.\N]XKYWO%B3EMU74LCXJ&(I+&6 M79)7*)4"KZ(&@2Y&H2,FU;HZ\8XD]B21T^?4*ZXQ/P_S<1J9&%+4Z($55B^V M5@:"Y :*KQ7>UO*B6Y^FK$O;D$Q[GPB[OOQZT5W#]KS483W4#I.S:XN7=%TU M$\OWB$C,9S>.[70=NZJ'=+1RGVB\9WVO&>J[' M9@ 66P$ !0 !W:&0M,C R,S Y,S!?9&5F+GAM;.R]67-;29(F^CZ_(F_> MUQN5L2]E73U&+5DM&Z6HD515T_<%YA'A(:(+!-0 J*5^_7@ !%>0!'#B@"0R MS:J4I$CA?.&?GPAW#U_^[7]^/QW]]!6GL^%D_)>?Q9_XSS_A.$WRG5))V=XGC^T\LIPASS3]^&\Y.?YB?X MTS\FTW\.O\)/[TK75C^=_ME9[G+1 MFDF(GND4#0.0ED$ [[Q5 A3^?Y__S*4QIH!EOO#(=-"61>DR<]Z#54$E\''Q MH:/A^)]_KG]$F.%/M+SQ;/'M7WX^F<^__/F77[Y]^_:G[W$Z^M-D^OD7R;GZ M9?7;/Y__^O=;O_]-+7Y;A!!^6?STXE=GPW6_2!\K?OD_O[W]F$[P%-AP/)O# M.%T^@!Z?YQ?_\"H:\\ORA_2KL^&?9XM__W:28+X@Z,$E_'3G;]3OV.K76/TK M)B13XD_?9_GG?_\?/_VTE!Q,TW0RP@]8?CK_\F\?WMQ&.AS/?\G#TU_.?^<7 M&(T(\>(3YC^^X%]^G@U/OXQP]7C>4/$MS^[*=[)*0Q;"OC61S= N_@@=HJG M$:S;S@:G2#D/Z7)Z2\+@"\G7SK\_ 3 M_>[ \(0N1,W %B3">G3?F;3QJ(;B1J:@=0=*) ;UMS$BAT!14TJ[9*W9@\L:##X+4+L*\ MS:]HP>][G XG^?4XOZ+5#D1(F!PIG->J,!V]9S$6Q0I/F6/.TI;0A-UKCST( M;G<7Y&UF99.-=PID)%0YGFL;6'(0:$MA0@3"9)5D@>?(K(G:"U5L0=EF$[[Q MY(/@MY,X;U.LNE#\>CP?SG_\.ASAN[,JB %9K4XZ\O.X(W]1EQ19+"(P%XP% ML#:9I#M1>_.)SYK23N*[3:7N3N4'_#R *4=Q'B;5M.=UC?C-)G29K&(42Q6^W)R-IY/?[R< M9!R$I*0&E9F6DDY_Y0J#$@VKQX.1I)-)0@.6[P5Q *2W$_)M';#==> 3?'^3 M:;G#,ES&JL[W')":;#P0#*-%0E=M/\B.C@^;2Q!"@VGQCM_Q^ /@O85@;S/N MNC-^E/,49[/S_]3EBH'/Z$#$R(+TDI8:.?,^>28%H4U!Q\"[&=9W/OH F.XJ MT-LL^V8LOZ0OCZ>?)M_& Y&U22%*9AW2<0,)&<14 _'6!FD(513M.+Y\\.$P MO*,P;_,;FO&[6.KQ]/UT\G4X3CC@X%/QM#!3,C#M)6E@*8[E&&0A-U[PJ-J1 M?./IA\-T%[&NB81T"G5= _9^,IO#Z/\??EE8#X#%29/J+E,(%CC+Z'@1+,E, M7AX'K4(+OVK=LP^'Z]U%NH;I3D&ONK\<31$60&S,H8@2R"@D-/1D6J5!SI+E M ;SUN932B=NK3WO6;.XLMC7\=0IMU>O>T?N3R7CEN.NHK%7%DO:X1&!T)NL^ M6?+CZ=3PA8.0KA.'-Y_XK'GL)+XU7':*87W$=#8EQ1(R?AK.1S@07MEDO6?* M!4U'0%+,S,4F8E,BB>2W"\2<1Y MW=,/@.\&8EW#=X-@5+W+FKZDU7Z>3'\,DM90.!>,DTO%M/&<0(A1Q[:$'0.KN0ER3EM$@S/3Z%*>?Z:CXZW3R;7[RC M%1R1C1.B2*:M)^N>%TU+U*&N$RRB%-%U2[^Y_ MUEOF2?KGQQ.8XNSX;%XK&*H7-T@\9%J29T%'LO,5G1N0J\5O3;#.B C8XF[@ M/@P'P'@S$:_1@ 995R]IJ5,8O1EG_/Z_\,? <6%CD9DYX6J.;A LI$+:*;)/ M=+8DYYJ0?OVQA\!S!T&NH;93 .O54DQDJU7604K=C=V[GORL"6XBSC4<=XIPK1(Y+U']2G\S&[@"7G(Z5&) MQ73VM,@2Z% )1>@@5#*EFV%]QX.?-<,MA+F&X$ZAKNN8EOG8YZA :JL],$5& M'ZD=]V0)>D.Z)PMM+Z+FDC2D^,JC#XCD706ZAN9.$:XC@I07L$;P>>!B(I/0 MD)ON;(VU.?+H'!F'(44AI,:4GBEM+=_>VDG<:TK&OII6:/YYS2: MS##_Y>?Y] PO_W(RGN/W^>O1 OI??I[AY]-;L=O-R;XEC)?=B/W;:%INZG<5J=^S/W2C:]*+K/>C!2XX M7L &ID--)8J:3I_:X$(9+JV+TD1L7>.\+_:OE?P_(OG;B+@/TA>QG 6NH]\6 MELX@"]KA/#<,P9!SGYUB((1F6<2,4F0>U7VV^$ZDWT*Q?SNN*SXFV(;% MXFL0O3A'%-$ NNQI,Q2R'FED[ZC@F"Q9!2%J;YK[LO,Z4OWB\*C>1;!WOM7_ M]LL-B9"A^L\.#3J.W[UZ_>[CZU?TQ'7UZ_>K%T=NC=R]??_R/UZ\_ M?;R.:+/N'0]_:)O6'EN"[Z_O1T#'E7>>D4M FN)0U4NKPB(J;ZP*LO#[4G(> MM^_'ZA./9C.@-)9""X<,NEE83JEP'Q.FA6'V=/*R_V5 M,;NS? /(_LGNPLY:HKN(M@\K#F8G1^-<__/ZO\^&7V%$X&9'\YM &: M,]"#FARE5 NO9Q\P(4&,(WR'\U6.7+8A:.L+$Q+(#$IDK40E@'GZLRC@3MV; M:KK3[G /GD-0BF;R;MB 9H7MS?@KH9A,?_QU.IG-!B9D%W303(G:#J=XSF+B M9 07D168Z+R^+Y%\%_:O(S@$OCO(M&'_F16:]U/\ L/\^OL7',^0-J?C^0E. MKZV:E% 9]-8SKAV9/"AIM;PXTDDN:*E&:WG?U>HNM&\ ZQ!TH;7T&W:U6;OH M04BT'*X%XU&3443'% M!D,N*.H P+N=P7X9C9^OP$$C?7:(-N]M3IY"7WF9!).BIG[HX&RXKPW"[DS?QG( KD!' ?=PM+^?3K[@ M=/[C_0@(U#A7@_1+=77IZU^'X]K-^2W"##_4UM;'Y6^T/=65')4Y;5 IG9V> MC6I_[%?X98IIN.C<0O_RZ+26T/QK\>W )J 707DF%H7&KK9P<6AJ75P)PD1E M\GW=4G8[-_I>U6,I8U<-NG7R/"GZ>_!CCFE]4,NYUJUC@+9X@"*95\[1J0JU M*[M/Y',I[:#8A/&^&JI==/->0 >B5NV$WHLW,X?QYR%Y6.=KQ_GK[VET5E.2 M_SJ9Y&_#T6@ 66!!((\K:D7GL8@LU-ZNIIB*T(F@6D7*(+ M'(D[DP58%@SFVLU&,1_(/\- QD 04EK9.A1Z8'3O),H>G)A7I$^TJER;#)[B M)_A^H7T#&5&Z9!Q+$#6=4L 92"^8*#(%8VT2H75,XVXT!T)[(W'WX.Y<\:\O MUSQ0*>4"IC L=<-!6C 8@4PI:[F3V?CF.K 6R('0WUW(#5MX7E\IF2!D@AI- M)@@XO0RN!T7[DD 5+0:O,=Y7OK>[6WL 3NQ6PNOA8'X[A#@<+?(LR==8)&:< M3$;TV;/JOR&A M!_?O"LZ;P;N@P=?FH@R-"G4>AZE]PC53(+B,)1;C6^\!=Z/9OT+TP^#=:M)% M_#W>;[Z''_6R[2(.F[GD-5 13,V[*Y!8U%PRC"%:81TX;)W!OA[)HRI$)Z[N MN-CL(.A^Z)^>8;Z]Y@$4R%8'P7R6I.Y YUSP5K*L13%20\ZF]377G6 .20D: MB+N'8-"JF3<0U=U7SNR7@VS+AL1K_"ONH3-8B8BN!D 4E> MYTS4ZLB0BV61]D5IEHE-K[".K,D_5YU(R MU]$87+ (N&A'&!,B 4NMR^H.V [M*."&$V;6(%H3?T43,:OBF),AT5K)2P+Z M"V:"X#&J8%SS5,M[ 1U^F*(C"3VX*+>N4:ZBQ3IW-$?T4!A*10H<'6P1:VW=*[=N$'..4"*KLP/(_Q&\1EG( MPLDZ.)-HC:)UGM,#D Y!1?J0?@\79G?8O%< A@)%&&,9Z:JK?0H"BTHYAKYP MZ[/C_MX>TPW]C<-4D+8,]!"@N++T@1/"!V5I>48"TZ8..*A1,^LT6"-5<,WK M/*X\_O MS*T$W,-V4%L0#.>GBYK#<;X(GJ8*+1K)(1MD/%GR>@4FYGVTK/@@ MG=>H,+;.U;X'SK._)6\EZAXLAGOT/&J/PG+.?)UTK^OL"]J%'./=OFCG!>"A-%[&.8WXY?P93B'T4![0*,R9V345C\D>48@#9,V M>9LSJMLHP#><#7R17("63 MIOH>CD?F4X4)2A6R1+0JK3> AU$=C%XT)J"/VNY+1(N<[3J@8XHGM?OA5US& M/=].9C7:>5P^P?F3 MFAZNM6]+8>!5]!PEG7W>*J9!D+7CBF-'>!$%.="WJ MU%$ZYK,M=.B5HJ4CWTBU-CC:(#\8Q7H$(F^KX\Y3!S:-W Z*2NB,#(R7L(C; M9-H;DV)21Q-M,8#WCCSNHP+HV<>SF@J]!VOV8KG+)OS<84I""T8K"TR;'%FP MCK,8>/19.;*X6ZO =02/.**B6]AR9S$^_3D5*B9G/3E<*1G)="G O%R,@^5H M?$ ;>6L/YLG,J6A!\,;#*K81]'[&%&R"Z'<[K&(KNAZ>5["+K/>C!25Y&XJ3 M3&E2>6U+J#W7+4O:Z!B%CE8VO^=\ZL,J&I._C8CW,ZQ"2:Y-,I[Y.AI+9X>$ M2 @&$0H7*5C3/)7ZB0ZKV(J;AX=5;"/8_0RKT,5E\I #,]:2+FM5'1,OF!$. MC9,95?/^#D]T6$4CJG<1[-,95O$>:I+5"MD^FIR%N?E M;'2[ _=%L9CQ0DNI&=7M3(WRS*[7WAL _!)Q!2VT8M; MUQR]T='#<7,]IX/>P>/I0AQY<>/_'J>+0><#=$$;%(;)D%5M<& 9F(Q,HC5T M*()/L8=VV1L@>_;:T@,!/1B@UU$N(,V.SN8GD^GP7Y@'T:?:](XS5S/_-*DL M\]8)%KVVY(J'HJ%UU>_]B Y,+3H)O)=&R[?1O9G-S@@9QV0T>L5XK$/%"NEH M!,>92%D5F4LPO/7Q:@U2#'03=>[[E$MGQV7PVAW&]>!F4R#U& RQ&6VL M:DVZRHZ1:Y6"TF2,NM9.RP.0#E(9=A5Y#W<55](%[SS&R*0A&$(RAU5I+=D] MD:-C11BMDA9@73]S%P_;B&@M^AZR::Y O'6:N5AR4C:R6F9*-K"P=)"EQ)*7 MA Y5P=C:?+@'SB%I0R=1]Y!@U> MWH?G\'1@5V'WD.=RXZJV:"6#2J(4KN86T]J>_(I M#8W)WT;$^TEI$-8$[I5G7H;:BM_55@(\DX>:H_:0$@_]! >>7$K#5MP\G-*P MC6#WD](@> I":L.\$)(0Q<@B)Y-4DB&:=;0JFG[*=)]<2D,CJG<1[*.F-'S\ M1'_^]OK=IX_'O[YY]_+XM]>M4AG6?')_*0P/+:._U 7(W%HN$LO6D#_/R:H, M]'[3MUI%K;D6OC<;^6VKU(4/^!7'9W@YT<6DE$6QGAE=4W(L+2B&LB@P3IK+ MXCBVOCZZB>%)>/_;L'N[2+>#4'O8_\_Q_$KKKEUC*J1_#.0O A>9"YDR;]ZV90>8^U>5;MRN5Y3> MB.G%;)S-CTN=P;Y?*&:5EH@,B#CEXDHP:&4-F#KKK)WHWD$ ML[,Q=QNKQE:"[T$E/N*BQ/.O.,8IC.HPYWQ*TJYKG@^_XNOO7\@KQP$OR0I/ M>VCP) $-3C&?+)+1[%7&*(*1K8V.S9 =G*KT0$@O3:JGPZ\+0'\EF=6>%,?C MR[^KC9*3T73>:M+F6&>_%@O,.XGU6BTKD\@!:YXW_""H@U.6MC3TV8OV7&]G M@P*QA"(MXUX8IK%(%J%6*="QZY(0VNG>1K"O0!R<'G03 +IO6##(" M0FU@8.RB?4GD+!956$@\E=\X,EMXAKTDU'[IDN#I1M?6&Q":YGKP_-A=_',5";65W% M= WL('(?K2RDOF+1(C,K%C4MW_ L,:(MT'P&X_V(GKU2-!1X#Z?#Y;;3&_+>?:*^%2H[B%?]P+R^5OU@ERV,IP/@D)?9$D, M0=!AK#*9W$EG%@S7#E)RV#PUYPXH!Z(]W43<0X[N^^F$4"PLKV**BX*0M Z);0WRV2M(O[3TD+M[#? I4'RWB-S01 8Y0OS'B(+ MJLZG%5[QTCII_QJ P^)_*W'>YC9TY7;5TGE5,'0Y*::V7HU2TMYE$],Q$B29 M1,TP06_1T];6NM/,75B>/>--A+SFHJ3S'?U-8"]@-DR#(H7+A19H2Z2E>HX, M:A /BY%%RB05MC;VU@+9/^]MB'J _>V%W,,=V4U0KX:CLSGF@0<&>14&P^@I4.*ODW9)N&2=&A;:\56 ]$5_HCI8?XYQU@ MS_7[=@$:HK HI&,*H#I#M7E%;=6734Q9(' G6Y?[;@GQL+6H"3']-SMVRJ"1 M*;/BR MUK[(HJ/'VII/!3HCR48*J>:'H(U90R:UW:@TA!YP10_HNTL=N.O93Z3^;RL: M)PW%V=#DO(+G:J+ JAIM U#;5/YMQO5M(/LM^FO#T6W"&PEX;^PGD#E9 4R) M8,B&\8E%IX$)8:UP]+/B-NIB_K18OZ/8;X^D;R/77AK'+8"=5R=YVJ2\<\B< M1UXGOA3F74FLY#K?!ZS-OGU3J"L ]F?7-23E]JW"CA)M6-KQ[20//M#9!*/S M&H)S.!#(*B73E!59A\/73B,A4,&*<92JC\90;?O^'DWGN=,?W-Y]S)!^\ZR M'-O0 MM4$OCAUDO9]>')'[4@(0LI)XK>$I+"AKF +I7=(\F-2Z0]/3[\71EOQM1+R? M7APY>83$.;,F)Z:#H[75P0L"$A9,WO+8O '+T^S%L14W#_?BV$:P=QKL^V[0 M\/'3\LI_�\MK[\F#FA+2E+5 MJQH@;1 BLYBD88G\_5!\#DGUUOWN;:LF#F_&:8HPPU>X_.^;\>U!BA\FH]&O MD^DWF.:!5CF:8BQ3R.O8%<>9#V1-9X!HZZN6;.N\H2TA/HD\DVUT8TUJ:6^4 M]- AXO95E!=>FY!<+>2(3!=7&/B0F'0E"!4"@&X^5??Q;P%[I>VF(]))YGT4 M:[<9XZN255KJS!S$&D*50!ZZ#,S'''GR(H;WES )K6+9 M4/G5V;1BQ^EP;UEAZ3HJV[.@HRBUJNFH*.5H32.L-A M,V2_ QUKRTX/Z3)WH%QTZ[\$&8+C=8X+$Z&.L(4Z\"?2'R)*::1':YHGR6P$ M['>I01VXZ2%/YK?A>#)=;*#+37$EF%J#]JKVTJB[:"T^NVL7_8^EZ ;""9XA M>":! ].\&!:51&:E16UL3BA:9W:WPG[8:O@H#/=01'COAOQR,OY*&&D9Q^5O MQ-YLD&Q2D,GV1)W( 6?&=@ZE%/11Q>E2_:M&\!NA_"PM:Y'MGHH4[QOJ[X- MUB5=E*1WP&M'6[9.]")P0< "C]S#,;\8OX%@L>;9^W1.+_^CM,TG.%Y4M#QET7<;<"=,3%#9!XUO0YD M[3$HL4YGX\!I1U6Q^?[4PS(.6S,?F_& 82BT$6(LG6TH9^5'+8N/@'VURAU]R#^K22DX$6)6!*+ MU2W1RF46E*FM?5'+G(LDHW._B5^/ELD497#*&,EXXJ):VZ0O*GJ&FI<8G']'"[1)UAFRH3CMA62/1\)H8\U63A\%S M:T/AR9>E-29_&Q'OIRQ-FY SBLC0 2TP.[)7DT^,FP)*16Z+;&T*/-&RM*VX M>;@L;1O![F=$='&Q@%/(9"RBNB:*08),[G?6$(OR'GND^BF-B&Y$]2Z"[:7, MXWSW6OH7->PV&=<8W7EA;;W>M)(I)4(=X$*^J,Z".2PB*8-*N-:3&N\%=$BF M76>!]U!0<0/313'\PZ!ZLO#6 GID(Z\[<3=;T3:3>A\-B=>"D]P5*Y5E*&ND M2FE'!Q1]Z[@V&4(Q 5M?[.U1%3:U^/:D"=L(NS?#;W$$KLXLB2J50EN?=T#F M2>UPJTQA((0O,DH0MGD/BIL@'J$I;'=RUIH#NTJV!\/OCFNYT\&J&DLZJ28 MU;5IAH^:>5"2!942:K*%::=KK ?KD1R" C20<0^&X%%*9Z=G(SKG\EU);.= M>0S@K5?DL,C,=+T@\3$"XR04:WQR&EJ?!1N#.P3]Z(>)'@IIUU\^K1ICN.KTUQ8S"2+%+FKCT_* M N_P]-?A&,9I"*,+FWH&XZ6B+V[<7M7=<32[#G6C_D9=GM:DSU&SY7;L=U1+ M=HZGGV$\_-%PNTQ7>7EQQ9B-+"%J30VPXTY$7YFU)S(;B!7?@ MG3 /B'Z[)W8I$%O-4'AQ-J./F\T^+N\Y9X.D/*=E!$:*7AN#ALRB261"">43 M:;^Z54N]=A5W??[^]H\>V;M:T]5$D+U%HA<>TGN8'D\7[\TRD74UFV/@O')) MDY,D)=3*5S*:H&1@*@N=N"CT1^NZ^0U@'92*]$5'0Y]E(RDLP[?*"YECYDR0 MNTT(I61@Z:LH+:!5!-+S%EO<7K)5]K1!]"#:IY_5(J/G-G#/)%I)3AB9U1&- M9=QYX4IP'DKKA-XGD]72%^D;9[IL(_S]Y#AL@NAWF^FR%5T/)SOL(NL]:4'6 MRGA/3IK,-28'@GFM%>->&T=O0&C?BO_)9[JT)G\+$>\GTR7%E+3FIDX,AVK\ M.@:N5OG2@G,0=5AP<]*?9J;+5MP\G.FRC6#WU8#YUQ%^_SA''!VE_SX;SA:? M^ ZF]NBI$HDVG=,W=W MM >D4GNBK+OX%8;319CFU7!6?6ORXP8R1,1,KT5$SYFVWC# MO##:,'&5A./-Q\GO@/. %*QWFAK>!%?_OU;:OB?Q#&>SR?3'N\D] XL)^N.)S(6$S(PH)C(*9JD@W51/F UM(Y27D]G\N)SCS*]ILYW_^#2%\8PLV_,?SP;:QV"++"Q[9>DDY\""-H&Y M%%"& JASZQ2#':$>@*+MDZR&W9CK^[$&\F5ZU2V@5F8>:L>($#-YGM;55#M5 MAP 5'Q*9A^KFL)>U>]-6#ST _>A7T#UT/5YSS+XA5_=T/"S#M QMD],PGQV= M3L[&\Z/9N88OE_4*YC@P8)T0-;&&%UJ B8YY:2VSVM3;K*"Y:WW!V!GT 6C: MXQ#80V_D99;6LB7J9)SHF%[Z%B= GL6;\2LL2%Y$IE]8+J1:@,MUC4:3;S!. M.$BJ]D:UGM$KH\B_T'XQW([%[$L(B7,N6ZM@=]0'I(-[IK!A'^5;*WC]O396 MPA$G-8YO>B#4E'3_^H"!I$'+[5 M%E6 9>5-J+D-P=BH;/;BQY7O MECDL&+FAT[A.9>$5<*GSJ&CID(5QH%,THO7EU+88]]7WJ#<5Z964IY)-MLXW MKBD2";-4!0U+D#5YP<+4+4\PE4/T7(:@7>MG3GX5$41M!1FQ$E"T[R6C)<6(C2 MDURYUJ5X+7U?T:D]*\H#Z6F/HR?;B+]QNOM%FL^J9C1;BT K*R%9IF.V+" 4 M9KG(D,!XKC8I>KGQL4_"1NTB]$D;B?60(W)QW?OBQ\67_S$D/WV:3GZ\)>=J MM%!@FZ3."H(DF539Q^9#,P+0PM7X$V),633.GGQ#BB_#R.H 0T]9)0M4:@^RX[/+ M)(!S$P#I@,"$P("$1*:%X80HDGR"]R4#6ALV:0FS_M/W;U<]'EN3IJ)^S'+( MCV>GIS#],2GOSP<-OI\.$UZKD6E;*+G% WLKH=QUT?LHKO09E!:T?9D F6;% ME=MHQ-;%E=N(?V_%E9>OX6J+KV4*YW.SENWQ9LOB*]KYZQ<+M\@YCTIHVKQI MQZ8MMU@6>2J,I%8SX'QHW\RX(?P#4KK'(K7'6]L-EB(&4)*7X R3QM:\&B?H MS \D.!,4&FF-OVE>[5,!Q>]3P[:CI8<+G2[%R+QX"SDQXX*HR7<+%1LM\V ?A'NN365&Z=!K<+#X^3+AE<5-(6ED5&IH6O,[;)?55.6V]I M/[9\#\T$GG"Z9+]ZLHWX>TZ7C()+$!J8*;+>;-@&":W_C]N39 MIDMN(_1[TB6WD=C3B$Y/<30\)5M\^N-:S+96Y:9>H]0;/W@/T>K=A+"/J+5% M,EE0U.S=6@RH2*N E(P)L(8V(?#!M6ZKV6?4^J^32?XV'(W>XW0XR6_&:8HD M[%>X_.] <.-0",<2!-I9@=Y%D"FS8**7/(%UJ?70O/L1/8F]:C=MN'GR-!3] M?N+5M9' Y_'P7YC?9/*CAF58C?CS3A;G+7:.QE?[.IUW>JI=H.@'-03Z%4:+ M(0V0H\]&LOOM"_E#FAD3W MV'NQ^1NZ&%XV$"X7R('.G=J\7?L<60#IF +/BU(^A.:#XOM=T1_ZW ?U#1L^ M]K&Z]]/)%YS.?[P? :UQ:6A]J;<< Y^L!JZ B5 '7$B1ZD"TQ!(*+G)$QV-K MUVTO"_M#S7M4A(;-+*]VW6RQP/-N8.//;ZM[_&'X^61^7/XV._^G RV<<:;> M/_M J^3U.AIUK3_3Q8HH([_9#>?>WJC](SX /7["%/?0$[.MD36'\>?APDGP M**(7R%D"J&G\0C 0=#AYL#&"]I!R7VUV&B_E %3Z*9'=0TO-IF]KM:7J2.>K M!M9 9H/.Q$BV54&RK52=*&%H@8)'[X(P,NYA$DC;1?VAUSTI0,,NG*W/HNN_ M> #R 6CQ4R:YA\Z? M/;C!5W^04NT^7H=O+)*Q? HQ>HP,A==U3!YG(?/,L AOB!2;\QYZQO>WP /0 M_Z>O&'UT1NUWM$2\@6"#O.$67>Q=4EYJ(U&- ,=:JMD91DGEY@9@!]1+[P M,I^PCJ]?U1]*WI<*K-'R)W6/>75=&F.6!@53)GFFI:%UJ5)8*D5SX5R(KJ^I MVXV7\H<^-R5[C1+W,6MO]\,(YP,LR08+B=&J0LTM0!:4)F=9RB@Y]RG:U@VN M&B_A#Z5M0NX:9>U\!7D1F.3*A"R,98G+0D()AGGN,BM>""^C#3RWUK(#"B-W M$N<:7CM?RVU=.,LSMU%&QV2HK5,E6;DADC=G3$DJ8#36_U',WE$[>B7EJ1>S M%VND%2HSA;0@'3SY4I(KII0-"NO$,Q[^*&;?G?X-B]FWH>%1:I,W ?A',?O6 M5&Y=I+P+#X^B,"J1F>1D9%ZDS#2'R"#71(&@?#+1%E1].7?/HYB]7SW91OP] M%[.K($&$.BQ &U6+8QR+L2AF(](/BHX0;S3+?Z[%[%L)_9YB]FTD]B2*V?\V MACR<+Y*3RV1Z"A]P1OO/K*<*]@>>UG_9^C;+W4>M.@B>8'%Q[[5D.GG2%\$] M \NE \43[J-QR 6>'@Z7&8GZUZ6H%W-]!RG%$EP*S&9MR."OLWJEX\P@@J+W M!*+9@]UZ$]:3V)1VTXL-CIA.)/18NKX.XO69OPID\#I%IDJ-H"M7"X%J21#G MD7Q^4)[W=5'X(+C?B<[L3D@/YNO6/I]&#Q!J\W1I"IW(0=!7 9GUF@>=%!37 M.F?N6<9ANFA/KZ0\]3B,<<;GG,I"4K06<@D"UYS%D$&C!5_B'S.8.]"_81QF M&QH>Q:W>!. ?<9BMJ=S:O]Z%A\=1&)^A&%7J"%E?6V\:Y@V/K&!))5M0XJ;W M_5P59<X[#>*6CCE!'$=?I""+3?ADR9[84&;0O6<@;+M-SC<-L M)?1[XC#;2&Q?<9A5_3=<*?T>XWSW4,L#']@DFK(-Z$8!DSOKY"^-5:M#4E;' M6N5 NL(1F'?DR*8D0M*N1%U:]R9[&%7G\31W/6$Y'47G8EQ,EMGEB)0(++H< M600N%-E0138?V'T_HOWO'XTUX]: FG8$]#:T%-<5WK_ ,IGB44IGIV_6.43SZ5FJ?_-F3(_]/"4W;Y R%\'JQ&2A]6OED;RY MDEC6D$0R3FBI-O!;'WD9!Z/O3T"66ZE$#XW]=GW5RQRG&[[O5L:0/4HFC)-, M6TZG&G##O)*@D4XU;'YCV?^J#N8=>***T+"KW^U;F3O7NKR-<2)'#4*SF$5@ M&J5CX, Q$X0$L%ESZ.^&]'YL^[H9[5G9>J'BJ=R+WKFD%S_JI/-%I!XC6@11 M&_2HQ#1XLH9'">*2?)Y 3M:I-.8MC//Y)6%6Y(%'3"PX),_&*6?$+%BV M!:6DB MY]UXA8S.0EHF-W0\1CHCM>$E!V71V!O>\MJ8YIJ//AQ:6\BNAW$U?\>381KA M"@WG.1D'EAD1ZJ63% ZCFWN) M$-)E5)$5J$<,^D2JJ"WCJ(KBW%G0?J.7=\V''PZ;;>370TCSU[,IR?1LBHL@ M[??ZU4K5/"%2*#1#(6O+Q!A82&1+<"5C!N^\4;[QRWPWFL-1A<:2;SCSHRKI MR\GIE[,:D*=C9E+FWV"*YZ!DB("._%=C71WK%Y$!>F R>0L(Y(')J<'A6(IJBF%!U:I*N.;Y22\:]B$%YJZ-O_=J.E-DK9 M7CWC\KI,1I5]R+1QY&KZE9Q9\$(RX &=+IAL:ET5=PM$JUYN'R:CT:^3*6V+ MF=9%7JC(P'S@CFD!F46C,U/:EIQJT4GS9*XU,/:_UW1C^*ZV;KM*MH>8X46G M.:%DRDA6#)=1,)U"H261H0O"26L$=R*V3I=^O,9]G8FXJU_?-E+L(9BWPK'J M%_GJ;#H Z']<[2 M[B&W]T(C,7GN4B;?-6M-^]4B\ZP6PRUD.M32JDP6\KS&9LT6^_9RD!%JESKS2$8KHY8;/7<_$N VJM46]":X&70;N>L8[G!_%V7Q*? X2" B< M;&Y?%AV\,+)8#*?7UD%6N8!HGCNQ&;+];V#-M65-#X'6E/33GN(NE,OV&0#: MBQ04DR \T]9Y%D6B(S:):'G119C6[:P>PO2DE&5G+C=7E^V)Z,$MN0??G9SV.,N]"BSO!Y7;;8EH8<\T,L@X#TX/YT/5I<2OH'OO%DY/A#R5T/P]BWKQXS?XK\GT MY0AFRYA4(&_5R:Q9*)G>NEK_ %P$5J25PF POOGM\Q;P'C]LWU9!-M^V.A&U M7ROJ$N@[.%WE@6T"MZ?(_Y90'^=NH#?J-U>Q9KP] 75#%(!(IX%)EF#;8NAP M][2*G%SR7$J!>XP/[$_-'KB/>*I:M@U=/6C7R[/9?'**TP\X6O@0LY/AE]E% M*%X!UB+D(!*O@^(5\[I.=44M4K(24V[=3N<>.$_*6N].YNHCK M_W@!LS6B6((L.16!OK M2.XMY9!JN],2(Y\%S0VM#;7-P)VV&K3GIL>]IA/ M4\A8%WR1P!Z=*Z %DU&3H0A@&!09&.ID1$0?,;8N_[Z)X<#5HHO$>X@,'=?/ M.9Z^GT[RLJ;A!:1_DM:>HP,O1-'6L*JHM,$)RZ(#>L1>KF+O7]@^;UVEIVVC=A)Q1M$64J2L MDX-J;U5E-1DH-:IX4+>N?YMA.1N]'18<AMBR4F>MMT"3'E MR/W^?*I+7$]JF]I-4S9WGW:DHP>#^".]Q8KC9KJ)!VM\FR Y0;7J@I-<) MB@_&4K.VLFA.PD"'C*PT$H8QAHE2;(!8ARVU'M7Z3&\_.JE-/X0\Q]L/6U/T MG'0L2D&OAN>TNT;R%I,A:5J.*HK6XY /Z_9C*P7IAJ M7+WQ)M,).RS#NGG?3K!:5M.N>B]Y4Y0RFG& VDRKUJ_&')G400F)WIAP(W-I M;?+_YD]\4A9Z=^(FO4M]7X,D7V&<-X@UK?V8)O&DAP$VBAG5![U9-*FYWJQ? MVJ!<29$%71+3$@.+H LKA2NE,B_0O-CM#BB=VQ5/QI\_X?2T?OP@<*&-\((V M14M>1N:!D6,!S"6IK;$IE>9C+Z\^?_\;0@M^;[4IWE6B/01QWN)\CM/9<7E) M.\YP?GPVG]%NM&B5>SHY&\\'"(3+"606C**%&L] 1,4P6J$@1PB^]>WW0Y@. M1 M:2KZ/-N57M+3^=R!RC-D1"@<&ZGAD9-&EP$I$71MT@ NM8S$W,1P(\UTD MV\.U9%W52@U_A30<#>=D#'\?GIZ=OIA,IY-OI),OX0O]9/YC8+W@TI!K'X04 M3.M06/3),&M"D63MT#):5T)L@^] -*0O1GK(9;^^?D*+Y_L7**MY+6[WPH@Z M:"TQ<*JVW7$2353!IM;[Q5U8#D,KFDBZ<9?C=9IZE!)]]!#&OR+4/JT#D#(C M)L=\2JFZ,)'%)#-3Q7):N EIHRF,FSSK>3/=BT0;MD%^ -]DA>_.O0J]BMYH MS6+QN4ZDRRQP#\P;ZTHIJ8XQ[Z8)#V(X: UIRT##9LGK9?&27/0?EQ:O\R@0 MC6'!UL$_7I!HG.(DGPA&>Y-X:&U;W(?G>6M*DIHV#V#?">8P]*"-K.]LI-QJ2W@! ML^'LXY_QVFBQ#I!YBC&"AMGI<+XPC!'?XS35\1&?<8!1>9M)%%+[FO)KD %@ M31.5WJCL0H'F48O-X1V&WO3%QYJH5J?.5C>.PLE7' /) +_BE*!]J!4GYW;3 MP"@$GH6N ^,\B:.04QV#8]:E*!5]!3EO8*AN_L3GK0D]2G>-$G2Z\+SA10^_ M8WYY M//6!%?(!TXVM10>F0H=:TFUV04^41_."VS!QXR\*T5X*ZG'1KY3:2Z MAOC.H<[K,)<92[3O6,P*R(UVEFF1)8L: LO9*0-)*R=:FYIK8.PKF;!_NV%[ MJ3YVHN!L.E^,&IF,AKEVDWD]GI/L<9D' DI"-LDPS279.EDY%HIU#*376>1Z M>&UT 48/N:(:]-VE6MSW_,=*^>O,Z:2Q;!M><=V%Z3RI8Q-4V^3J[<#\8Z3B MM6/J >H[B'E_2J +.<7))N9LG0^9@ED4E3$=3;3!2^_21K&H)T;^'0ER^^9^ M&^DV3GA[N4@9^L=YRM#;43H:YS>UV6><#?.0W-R+:M$:!%.T]#HWSH914&-BB2, [$. MG(=42L:8.,>-!G,\\*X?&.,-A-E')X_KUR)U_U(>1'9V,;"Y,*TD&;D)/2,M M@VP%U^ZF*]>]@<I>ZCL( MNO?7_J)XHTAKP-=*N$"G3)W[+:$P;Q+M=R73SUJWVMP?^0^4.NR#^VWDVP/G M'_#K9/2U7FY?3Y0Z[_6AHC4J*6:R$TRCE'74.[+:W+]8Y6+4K=NCWPMH_S&^ M[IS=ND)L)?!>RM'369W\1N?=.2 ;' 3E(^-"DRECH98YUR:R I./"3*4UND$ MMT < .O=!-M'9O(B?N4ZM7_=U M. Z [\[B[2-%>3+^/%^E3-._69QGTCKD/"!3V:K:G]"QH+)F4CGI,&=K11\) MZ3=Q'(IEWUG&/207W\1TKMZ;H.K)NE^/Z''L^^Z,/: "'<3=4T7*&G0A"^=5 MLG0:+6(7RI+.HV2U'WA1:$'YUFE!^U2"!^S\?>G -E+N@_LK*2:K?J NBN!U MJ 51FFE0A@57,C-D@F3O^Q)V#,]T!V-]'NRYSG29+Q$@,K.M<10;59%7C# M@&NOC8H<>>M>F$_#G._C]>XJX(8&?;TT^ #CS\MS2F<)UKAZ1)G$M*HWBX+4 M+Q4)G@O44FYT=#]P\7+QP.=NJN\NO89E7Q<@SC5I$Q@-TR6N/'K_^1$["O\F M?1TDUS@#XBHYL1KBYO M"2U#%((5@IM-Z9X@YN5]CXV@??D.+3E;QN! M->;M-Y+4Z=GI16=S.AN--YS\$''C4SA!YB[]M#]WEWO M+/9)"YDU3D$X3X->79AS#-RYPF0H-1F:3&U0N3!N7=$015*;M8IYB+RK#WV& MY.TLLQY,UJO5,,MF84J!T77:8(VR:C3 0N!DK?&@9 IT+7NDG(3PW.W;9K( MMF&M\SH\J^CZ!HAZ"C_>1O,XH<=N+-U#>0<1]_RBGR.K P?(9:(-+-82!EL$ MBXZ\92."+^15D2/6.JE@7Z0_$&KLF_-M)-L#UW5T3$6SL@^B.'@=P?YC#UTYF303:$.#JR:FGL>\CK_B=#S\?#+_=3B& M<1J./U^!)V*M:,V"65/[?4),=1IL8IG[)!,I.)0;9MC:;-\-'O5LB>U#E'WT ME[\/XL=)F5[\Y,TXX_>/W^#+%? F*PY%DD4:K:NUB:2FQ9/M(JWD9*&BYZU; M''8"_&RU:?]T]9"8<-WZ79R*(M"A:+)F*4?:YQR9T1&,)^_2>A^3RHC86(%N MHS@4;Z"C?'OO8'.E%_ FN'KR"N["]#B^05?.[E6!C@+OX;BY$Y\S/I&]DYER M29'>.\4\AL3J='F9!8?+L6&>D^MUHB.<>-Q=BX?O33":Z%),!E%T5B'#34G*O$ M("3#P&*0J4Z+O&GVK67VCH\_ $I;"*ZA!;\H6%W@.?H\Q44CB55J1,RM6D MG/_%[-5P!I]I 9]K*6S\\9+^\WDR_;'[)(M=G]1DV$639;::AW'Y2%K)\0K* MVXL^,\G0!AW(5>>R\EX M/B6:_C&:C#X3K%H+K(TBP?JW+ !EWQ6M'FH4*)&%SDGEO@!5#Z.I( M5F5;7RG>AV=OK;"?PI-"<[GU%_//V(TZ_#=%[D$97&VK$7N=>UG!MI M$8H\75H!;4XZ%OG)T6-MV6,U>&D)5XL\P3VS?D^R M[IY(WT:N/5@&Y\ N@B%&FL(YB^AJCP[NF-UF&O+&CR+5+(8$"[K%3KBL3[\#QG M^IO+^\XX<>,(X^O_/JM--W:.&U[_]TVB@?= :A3CNVCZ]^,CC/"X?)Q/TC\O MO;9H>*PM YDR=3A$$G76D(C,8B2'+G"(T#JT=3^B[K7GI\,YYK=#B*O1!E]@ M_./MVY?'T_.?O8?I?(S3V2 M^G@"A.C*W-F!BUYS$S7S$@A;,&0J90],*.&\JS5RHK7Q>1^>@]*H9H)OW0[Y M$M??)_.:=5DS+:]&3F5QQL<<6.:JCH=2BH5@ A,U?\]SRP/?).3\X(,.@N[V M(NTA:?7*:M^=51'5B6!5)]_,9F>8WXP_36$\(_N"I#\0*BCKLF;99C+!D6=& MEEA@1J&R14#RO/4D^VWP'836]$Y,#ZVYKF!]/R53G=1[@740R#D3=3A8*8(< M[JC( 0A6,W22UA^UQ>9SPN_"?IP#J*PG"PDF9@+W-J,A%BW+K"^#\]!:4DSP?=0 M;7&4_^MLMA@C./LT.2WP%UZNS*1GP=-0.)WEIBKW# M;XL?S09%AA#JU)(,AL1#IRR+0@#C00J%Q?F(S5O2;83LH!2I!S)NJTSG(<9W MH/P[C,[P$J3WD'4B[][PHIG6PC,?>62N9"V3$-K[YL;/)L!^#PK3@8K;^M)Y MA/%"?6N!?*ZA120;;"GO:6V5LYB^_./R5\X/Z*-O,,V+/_Z.L_G%PL0@TJ;H MLI=,!A!,>U0L*NO)'\!B.0J+7+56JX;X#TO['HO8-7'!SM'BUZ=?1I,?B.>W M<>O7]FXR_DJP<;D".NWI9+_Z\WJDOYO,_Q/GY'9,/H^'_Z*%+Q;XZV1Z_E?U M]VBYL4"JS:!D3J+F:%H6LK1,J!AX\IEUKX0>%>T M!Z6C>R)MC;XUZ"QQ&_H5P+5PXOH?ND>8WJ[GPU<./RJUY^U\W\ M]??APJKY&]$TR$G'Q$MAV;O:&T@&YJUR+')=YT;RG&\.8WSH-G'=8PY"15J+ MBXK MPG*FD0QY$'6>6"K.!LQ!V;@Q]=<^^L (WEUL:VCL' ^_HG2OJB6"XSQ;W3Z_ MPC2B_^0!Z9F2,F164HW4!W0L)!68RU&:A-*&LM$0[=V2Q^[$=1"*T1L1:[2E MK4GD=QJ+S*SI)3SU,X/3J;GTRF-<9W=#HY&\_%0$EMK?""%4UF MB@Y1D:LJR$PIQHB"*,S-?@9M;L0>AG90*M(''6O4IGOKWNLX\]$X?\#Y<+KN M[G>@K4K%",/H6 M,%VT91.D8.IVX02U2\W3U;? =L@*U(V:-%G7/;[X!]M8U M\* HZ[GAP-"3 +1SGOEL!F>\+SV,/V 58"U>]3%J7KY.Q?GJY-TQ'K#(OGL3(/G#*PE M+\WQ(HJ#6)+=B[FS"=J#TJX]D;9&WSHG1K\:SN;383RKLO\-,GZ:7*\RK+[> MU=^9U23+ 1="1QDUXSG2(:Q]9K2O!A9-BEYEC;;TT%1J>Z 'I67]4[5&P;JW MM+\+]9KZUV6EZ_IUV)QS\0F9*RB8ME#+&+4CI],;7Y(KSK3.WVD$_?>AA#W2 MN48MNZ=A7XCH>+KL:O ;TBZ=WRQ3BO"*X%[\N/W+JU];=@?+0A1?IPVFI&GK MUK+4>9^!@<;(0W1>\M;AZ9;X]]63K\\3^+'H?.P.?IIHYCQ8(!RY9= R3-(1,$JA8&TFX"%J% ME$'R9\K^ R-F]D;^-B+N@_3%S=X"U]%JD#(YHCDX0>98JEM_;KZ+8O]W"Z%EPI;I^W>1G%(5.\BV#X&5:XSMA>[5TG)>"B."5_M[!(B"\5(EE7B M=8:J,[QYG/ N,'\8A$UHZKF/#YS2EU>Z.9R_,)L@[,E ?!C=(QF,;>B\IW5/ M0R[ZV'4>1DJ'GA#>DG.?R6Y:3/>F_5"R*!UJ+":GV+R@])&TY2$#\[&491L* M&K>$N^S6<%P*UGO;U=2U5)1Q.M<)N\@TU%DH=:1KY$"VM0PFXPVU6#^\[H[/ M?X0@;&,>)HV%V+@?]#HME65!.\G( M]DTN_]_VKJVWK2-)O^^O6.Q[[?3] BP6B)UXQ]A,'-C)[J/0E^I8&)GTD%3& MWE^_U8>BK!NE0['[D)(,!(XLR3Q?5]7I_JJZ+D3 E!R5ISWR><]*\5V$W/@- M_QM]TD=2%_^ :3[+E35=-U)EB&1;5Z!8$^I\16)*L=818#8)T61C]0@#>.@Y MSTKQ387:D"W6=MVOZTTV+CZ'Q>IK7?=P@H546XL&#SY[K'.Y4TT4MJ"B34,6 MCAIW)?+ 0(F[GOUB?8HFRFC8S;'BN9+QL!GJ>!/BQ:LQ!F3# 32C@4T_D&9_ M'2> 38',I)= MY-ZZF_0PE.#M+&T";(EQ+5V R'4$.@ 3^(@<1,I(WT+K_1@><>-CIQUUT4GP M\S92Z^(B_'5^EFOW^CI]X[>/878+8):88[!DPUD20 S@BB4'.&$RK$21QM5Q MCGG8LU-V%;*US.4]QN1F318<0=U[3 MR5'/I6P+.*4Y^((Q:R:C26."M'=^^+1G\5ZBOD6O]I%3:Y(U +K,OCW)!;F( MOJ91*@<*5::C0AO07F7B$6AU<*-5=OFQ3UE9CY--A\NR5^?+TQDNET,]TG(M MO^'VQW!I/ L@7*3M(V8&OEX&"4S:.LY4C*V'7&R!\F+)4DL5=1AGL=5'; MQH,8 [#3W?R#X YS-=]$E2/,8W\]3+357 >:72F))0Z6B2$S38.3(=%>J-%X M;ZPWK:N6#V0H#]S*'\9.=A%_8ZKWY@R_?*#=\NSB5&1%NZ1%!"\*+51I#5'1 M?ED+!^C%^0(4B7LI0IQYQ;1RR. M(-&OO=KWDVSC4/YOIZO*B*YTB*^;&W$;+(*6QX84 [1(I$?7]A*!9VF2C[Y% M8M>=#W^QU+&-.AI.L[L34)TG\![/AG$!-5K[V_RGV8K6?_%BC(':\(YO1WC3 MWP$V4.A]YM%!&[TWF <@,\Z-8,C R\JK7/ 02\ULYDH%HRVS J&<\]= MXV'M9A"%MD2I9[L9<;MWZ MX&FOM[JJ8-Y*?CT"5[7EWNW.L=6B>R37QW!+9>!:KWX#I0]*J1#D>9QAX*Z%&5>B]&[LF3 MDAE<,I;\M53J[#\.LO8QCXP7HYKW1YK<.!Z*9QW"-G:0>V,B<3>N37!%(VV4 MV0,&I(-1ZYH@K3@$S4LR(;BLQG"*^YYQ@-*T9IJ8=Q#C5FKQ'W^Y(:&?Z:_# M#X;O5PF\Q_*O]?^_OW][*:TTY/G\$\_./F+(_Y[FG_XR".M-.%T,#:+_-G0# M7@]G_'#^Z1,=FO.RZ6 XI'$-/\]A=?E/?L15.#U;7H>\/"4^A0]80XNG_N7; MHJ\+X^+1UXQELN7CEQ7.,N9_VV][OGS('1#>S=YC.E_42L=787FZ_'TVCTM< M_%DIS=O9Y_-AM.LLT;\*%R*YZ"8HK#3.DCUC]$1WM"33,]Z!",A\+B4XT[I% M;8]U['OT78'R39>GR]J:D&"=D(1T-E) C(*\1L48?14L)!9D"44+'EIG?=R/ M:/JM\>#6=_/4;*BR#CY;0W&M_9*8I:W=8,$G5[U9;HA@*')3C-&UX3KWV+K! M7.LU3-5 ]>A,]:#&<"RM5]^?4C!^;,I9+$J )H4Z]N8AUU MPRV)&#UZ[E5B[0W[;BB'BE\$047RQ]F>3WMGB3RKMR! M=OD;?>3R[A]M6MB-6$NG@$?+=1PF0-+$0&[-'3FP=H_=8EV6&*/4H#G6K%K4 MX'1($%1"'GPVN7DSPN.WU >B-4=OJ+LHM7%HYZ>PF+T[7UU.([B(1EA5YU)Z M!,.C "58@6BC(OJW;/O^%&D 3<7I>Z"B8+7.S$/(ZWU4@)/9 M@@W6&4=GDV+=0F-3F\Y#G/<(+&<7=4QD,=QJ5T/XX+W8/L.QWJH\2&/3[O?1UNX[UX M\<: G9 ;;05Z<);43.-C=J^FZIKJ -P*NCCTUCD&S'AB Z6.7N&\@-"" D\1<6M MUEA,Z\+7>^"\- -YC!8FVD'DIG@STX;I1*@)%1:4ET3_34(B@,YI[8+@L5L. MVFTX+\U 'J.%K;'"23-1/YS^,3LMIRG,5C\LE^>?AB#[X^'0ZP^Y9 MJ;LCF"!#=4^QM,Y6)0RXJA+:TYC_?=K]Q#3Q]GI/\YQ^?-E M0I8O7OFL'&A6!"@[].IV$IA6P7"'T2#VVC4ZK:E5^[+7\T_Q=#8\Y?5\MJ)' M#SVTB?O2NQIN7$5=6M"P)YS4@>("48 TSM>>VH:\<6\@:VFMES%[TSJ8V@#V M 3?M8[#O;8W4IC*$GHRRK7S7@29EE=?!U*E"UH%BM: SRPCH!2]*EAQXMQN# M#NN9/+'V&&W^: SF6!)N;[[1-<-A"%L(RZ*0Q/UU#L3TC/#@K,B 23*G!8NE MM&YUMPW+P4/7!S>6>0>E=?#?[L*UF<(Q EFG*/5V5(<)2;?1W@B3V$/TTQJ' M*YFPJ3I;'^Z_/N;!>+; M.L 'EZOW8;5IJZ$B8\9*8I@XM CN%$P TERP4D>(H3>Y]!V=--[%*UT^H"I M-%)(XYS4FRA_^O(9TPKS>_P39^?X/_/:YN5*[J1RO"!IA4ABJ%$PE!#0T2CEQG;EQ;W3T==;?'/GFCZ"WJ"3:46N-9QX%=L5O./=I2Q\=(ST&A-!"\ M\6"4YC$@6FM;=\%Y&-63MY5."FB89SH,*R&B?GH7IB*TTBS5*+:/M)F9 -XI M#ZB=*];+P%48L4-L^_PGK]YFPNN0)G-SJ;\N3M/MC0DQV,+JW$YI&*U:%0@E M1N!.6Q]<4:[Y )A1P)Z\:?130\/Y>-M ;HZS'VN7.)SE*U;MDH^I. \,;09% M? :!"&$>O5 M'"$(29BXMRE$59P:Q1X>FI&\>>#WF-=\7S4TY!"7("[K\AZ&T7*^^K='3]]: M]Y'"OZF^/237N%7N53A)R6@CO1KH AU+:1CR+1'(92&F&GV.."JZ<&@%WM/B MMJW^=A%88[W]C23UZ7S3$\TZCE;: CG4>4/2*' Z,4#)=8*%-+ ME77PVYO6VX]9R_MX]#';ZF/[-)S-(:ZBU*GZ=*C;;!**@O%B5A3^1D='![!3KK7O^P_4D3U#F,7.8Q=]_V*9141V"J MR.B0*[;F6)-'()Q!J17]1'2K83BB[ML-,;T.9^E\/1+H_?SL[,U\\<^PR"<.$R5#C(* $MQ"%\. E5U[JDMN/8>V^J&?2 WR7=Z!C8^4&AM.S"N+*#EC' M7MU:S/+Z:I;7UWYYI@V?=6*19U^K.ES)M?=@+>T0Q+*%S)+IDI2S4]3\[[V0 M)_T&M#"X$3T%IK66B=I9C%G4EC7]%ZGYY_ER^7:6SLZ)%KR=5>I/O[8\D1J# MU$F"LT,6DY.T4&T@YJB;+%?7]5GH)53=2#E@<6<1;0:T[@TI\.X0$]_@,R1^#F[&\.QU+->:@@U]9'\14MC=EW%-EQ[W# MWES>9@+UB 7V[M_8:W$'[_FXKT'UVV(;6L/3-'N=E==<0DJ)=@SCR253A4-B MOCC//8:;8R1>JKF/;T/Y]*Q]!R-H?&W^GGC'I8M8JP]FRTV^7HR>)Y$-R("I MUC(Z(O5!0Q:>YUQ<1'9CD.>==Z?;G_"D7:L6JIPWU\/A.G[GHH00B8&)@I,+ MZ L$U(37V*QU,9G+;AO9R^CXW8AA VV4S( 0Z&D'-PY%MWNRI]>O=R=%[M*O=P*#)F+=\+1;99:PL#Z9E__QCM M'GNAB*#MNG#-@&GR?)7*M8<[N=4VA6QTB:+]7=SQ6^HC"T6.QE!W4>HTA2(E M&4YB(!Q$0$@T!<%C3)!%=M:7P GN2RT4V4E;#Q>*["+JJ0I%R"4QD64"852F M)28-P:A$1-3X;(NR6%[P..?'&D 3<78"Y M'L9.=A%_8SKZY@R_?%@AGEV1F);Z>041:>_A,5B2)EM7&)ZZW/[%93>OX1C+A^5,KN@2@#) MJXCJE\=+[ TS]FK^G1=6IYG72T( /XENK_K4#X M=%DS5@GLB=*A<&X,9)YK608/$ 0JX#E::U+FW#6O8'@$SB>=3_(X2[T5PNZM MWIX))JU<#E:4%#9DB$D;6H]E$*)$8$648JPK*GO;^G 1_2&(XP>_^^ M"W:K30Z*2?*E:V(8QPQ!B@+.^^*Q8/"A6W+"RTBYVLEX'I=RM8L2#YX.,P;L M]Y2KEAK?*R_F,>HZN(TI<@=KFWQ ;?XW+Z+P('G4#KR5M)VUEZX[*8W#M MNW-=3 Y[0Z_MQCNOG1E>GR]7\T^X^.E+;8I1VR,OETC_Y=_"EY.L1&TEXT'3 M+@[*1 X.%8=DHF9.,AU,:BR*1\"RNH037GW>9A67H5!6P#6 M;@TGCO9:ZZP!:PR) (L '[. 7)A)):!+,3>VGSM@/$/[V%?8'9C19E3E&M%% M)=DO\]E\ W7HUV%%+#((B,8-/)$PUH&%Z+!.%Z*S.;8NUAJ#ZQE:2'-U="B[ M>K?ZB(NKF*Z!/=&H6?*.0Y0A@O)$XJ(M!5BR.B!GB?'6-R?W(WJ&9M)0!1TR MT+_M;IN3\'1V7M/)UFCGL^4K)('@^O?H$,3E3U_HM*3G$\5FU<#$YT_ILZKB<9VB:QZ+\#HE< M'])'S.=G^*[<(\57&X_H(B0LC3)%,G"B,((<)+B( 9@S.D3RIGEJW3OG$3"G MNC_J;GV]570L5SX?5F$U?.(F;^9B1FE9*AKJ,VQ0JJINQSH'/!<)NT M,[:YT=T'Z% 7/-VMX:;U-=-*!Z:_"=1L4AT?!M/I:N8:D,-2RA2W,@8OKM@Y9YG'(S, M/D;T\PYR:UQ\].'S?'Y6SZ1ANMW\;/['D)\PP!(1LTW60'+1$BST!(NP*8', ME&12&55_=,\CGJHV6TEMJGDSFV;61&L^? R+/9)]MWU2DVNA43 ;W?=LGO7K MYEFG9^2:(=./CUY:U6B]-XOAK.J?E[S(B?ZM=;XEY9%\^X2& =9E#9%O"""[#U MU-(H2C2^ZS:P$]QG9SH=M=7P>J:2GVNPUP,S"-FO->9!\M]M&=YG+I@KP'-& M(F"60U J0\E1F^ 4ES?3A>^DF TA/67#.J1V.ESQ_"^>_O&1SN,?_L1%^ -_ M.:]R?%>&HWKY[GRU7(597=S%L?VM>F0XO"\EJ9WCG%L/HG8H5473(4[G.=!K M8HS(QK'<.E.E#?)G1H@.H,X.1^R]JWA+/C[FFLN?3E*1],+0*R-$;2<1= :G M#8'5.J#BF%QN?44]%MOTAG4(W>]B?H]57)=DF;3.CPUGK^>?/LUG:X37M^[A M>P07\Z_AZ]!*:;&HTU2':..)BRSKP&J>*XNT NX@LC3,K=+>)32E>6[5_JA? MI%%.K.P.B3I;A'@ALUNR//%:&V<<,0E>:C-RIB#8HJ 8>J]24=;YU@5B.T)\ MD8;84XT=J.%-HK+>N4V.6 IY09JK0J"(HH3B$J!0)2;E$)>MD#>"9N(G3*:$#"_J6!+1%-J^^KOG=,)=EG02D/2LZ"@_.U10T4>7# MM %B<]'PF /MF-VR]D;#G"IKKVOHH;=ZCBYC;U@'[>FK>?K[D'SB M/1]316D$H@PZXUUT7Y:NT:G)7DU7G:7"4C+M^<%D^E_;&I M>[V5OXN(>RC]VP;WPZ;O<4SH%6;@*N0ZC22#CR9"CLE)&XW$W%SIMU!,3V+W MU\GV ZY'E<0O=IT.7>AE)P,2![K^"-9P#M:8# J>Y3*<=3]5/WJ^:GZ M,8+=->GOXMOUCQB6^)__\O]02P,$% @ \(1I5[NH.21G]@ C#H* !0 M !W:&0M,C R,S Y,S!?;&%B+GAM;-2]>W/<.)8G^O]^"MS:C;M5$8DN/L!7 MWYW9D%^UCG!9NK:J9RLO@?U/0?_5I3_S+YA<+/! M=5J4#Q#^JWKM;?'X5&9W]S7P',_O'NO^M?Q[%#H12Q&"'B8Q1)0$$&,OA#C! M<12'OHM]OKK[N^,%09#B$,:I0R!*4 B)%S$8Q3$._<2G.":JT4V6__/O\@^" M*PZ$>GFE?OR7G^[K^O'OO_[Z_?OWO_T@Y>9O17GWJ^L\?,,SRJL8YE1U4V=\K]R6A!.J?O9EHQ#F'ZV)NZM8 @^O<"] M;BX6N?F@WN=LKF]WU]7%HD\OL:W/HJCQ9H;/8M]-3^2-_,4G\;>V&]G0 )FJ M?EKJ[HG*?]0\9[QARV=-@XS]RT_B;^NJK-=OB[PJ-AF3XKS/ZZS.>'7U(ZO6 M(2-1D$:"?'GL0L13+M8E1B'A..1NP&G"@G6]^Z[7/(=_?.U$4/V<[^0G PWK M$S.UY%6Q+>E^C7O8'%NXQ)HE5[GXUQP_\.H1MR\(2>6&H!'^7_MR@DY0\*<4 M]?_['[_N-1L)Z686H#8+Q*B@S^39R"U"41Z"4% M$/;3KA+R*P127!&E@GC_ M5[D=^Y5OZDK^!.5/:LX--OWKBR&]*CN9<4G/X-X^\2LMQ%[HL8;/AB MBP=] MY>I"_VMHP!2=_P2*DO%2['./*++[-K<5O,/XQ MU=>K+U]_YP^$ESK36KNQI < M@N#/1F0+=& ,SQ WM(WU^*']S9XC]/N;A3",U>_8P_S%<53R 6?E/_!FRW_G MN-J67)Z@_TTE[EXK%J+W09+B4LA9JDX37LQAIBC"$8A M#Q'GH3AC:VU'9I=\:?SW]E[\)%;L+ >IP !\DR"8D=Y\HZY'GHL-YN"YZBNP4QXH[5=@I_\*2 3 SQ*#7T"'@OQ@.ASL$?OL M0V=I@9A/[ED7FMF'XW#!FE^ <0O?/W"925F^B+WYN^)!=+-F#!&&L0<3-Z40 M,>1!DE(/QA3S@&./.5YLLD*][&)I2TDG(9 B@C\;(34/R@- ZI'^9?!,S,Z& MR!C3YFGE+?';D0YF):+3"AXRQL"3XZ;V9UX+NB@>N"2.J[HN,[*M90^WQ6TJ N@!YD<.>'N*Q1A$S[C ?*3UJF13_B9E'R X: MX;L-W-4!]L]5 !_/06],3J/AL\1=YOW/2FVCX3EDOO$-F1$CIVQ]@Y_^4=WP M4EZ RPO?=UE%-X7X'!GU)DH&2V ML+ ;HG-DIE2<_NVN^/:K:*F=))3MYX9N^[/,!$-EN^_>]#6SK_S[/5N_+1[$ MT8*75SG[6J3U=USRUHKKA9Z3^MR'$0I3N;EGD'!&Q#H?NS%+8A+&BAG.8*JR!-/E56",C$$*"3LKSUF\#G%CKE:3.N-/C M]:R[Z7#[PA]%HBX9&7M=C"RXV)V*KL ,8]@/]V.=MJ =9P MK'A4L:B3^(YBTN%W9^%/+?$[UM1[>-Q1Z8K2/5V6Y9B8-<)]RGW M(PH9(@Y$7IK"V/?$Y$ATLJ>E<68K*. _'GE>\88Z"_&9EX V M$H/-7@FS\\YIN/7.-59 G)A3._QZ0JY *Z:](\I9)"P=14[W,^N1XZRZAT>+ M\R^8$8;T9O@B[YW:=2WPDQ"EV(QZWJ+Q7"*WZ]#)_+" MB*30<],$(I+&,'82%[H<8X^DOANX1@NX2>=+F\8[ 0%M)31;MXV UUO*IX)S M8E)0-I,B!8W@H)-\!5K9P1[JM^>@-E[TQV!F:1]@U/6L6X,QH!SN%D:U,8[# M/N:T%(L)?\>;_W[,K\614:PTJH>LQILK4M4EIO4Z"#S7\4(/>H@QL<<(.,1< M;#0"[*<^%WE M?6.-^+?M V=O<74O_N&]>.0;WDA[^YJYD>.+PQODB$00H2"%"7$Y#!G&"8D0 M3OS49%,TK;A+XR\IH=HQ4?D7OA?4;-G*.AIJMR?6UU! M7UG0: LZ==5H]Q0&K<8KL/L6WFM\!L:[NGE&Q]).<&)A9]T]S@/\X8YSIEY' MQ@O>XY*_$?M@)N\1>5XI^:[*4FXXI$VW>O.T?^8&/\G?77W')5-_W(I>A3PW M8E)^%M.T=?(U"3&1-;JFA1.O+XTY]X%P M %?R;D&)#*3,^G:$4U"=-R!80&D6#MNC O:(V3$2G(%@E'7@5)NSF07.*-6W M!YQ[=-RNZPM_; BBNDZ_WA=E?['L9)49*2BC%!.^& MX#+>NIR%PM+^XW0_LVXBSJI[N!,X_\(X4I!-[%W>;_F/^HV0\Y]KYOI>B' M6<($D*75(XT9/)I][O;[HO?O##-@)1CP4L M #,Q!T@)GT6J2"&!DM+BZ>4,#I8(X%0OLT[_,ZH>3OYSCX_-VB0V%Y)2!*/( MK"[WQ4:\7$DS3_VTNV6/'1Q@'F,81C(4-7%B&"<$0^2RQ$MY&L:$F:5WTNAU M:?N$G=!J#>R)_=]!([C.1?P%@Z!I.K$-[<2T8@75$9F?#%"REOU)I\^9,T 9 MP/ R"Y3)R^/HJ;5F5+=%:YSN3-J\^JTLJFI-J.L0Z>C-8RZ8*0P0Q($OMBB" ME2@*'19B:L),YSI<&BFI^R(QVE7&E"])D9M1SUF ]5C')FP3$TXGJHP$:X4% M>VE70,EKCVETD;%$,F>[FY5?=)4_I!;M]T9N>N@]9]L-OTY?7H=QIG$9=JOB MX7=;?%<&ZO+$@\0/$HB0&T <^BGT<4H]+P@PB;'1]LBN?$OCK*_;AP=^GOV'@>76TV;U];,LW;R;Q&F@?;&=G*@;\WP-GXX$'EQ1*E[/ M%@2,-V+[^?"0U0_Z'FO:( ]S[Q3034RFGTY%*NUD!JW0EI'43_E@&]&9LC]8 M0-8HT8,)3 ,Y'[2:F2W]@XE2_4P01N^-O;C\5FR^R5B)YP%A33BS[R'!MP1! MQY=QI5X4P(0Z#*9>&(6,$"_PM!+I:/6V."I^\^GPLS>]PAS"5O<:TQ)BDU]E MMG(>0C9!?GDM3*S=:0[U-?.]IH;:+^\V=5X:QQWOTY33^CI]_X.J2^L77M7B\%GOW%V?_^)9R ,.>>S%#$9^%$*44K'_\Q/)\$E"?"?F M+@U-&&<"&9?&4XV*-,?TM;!#IQ08U_[%($B&-:SHW];89QUN-K MB^A-S+T[X-H\S$+6Y^G,/@\@.,(/1PL7:_XXP[W-[)>CI?I+_QR]U\P][G_/ M'S/I^7.;/7#VH2AE&, _\.;#!M_I>MT/-+$T@OC]\\W'OI^9$AFD10GZX0]G M/,V-,!QF"HOP3L\/O(4V]:8 MN>&E"O=YEVVVLC;M+E,ZBES.&'9@@$("423.I4GJ4NAR'L<>IC%F1E'XYSI< M&G-T\LID%4!)O *MS"M GN0L>) GE0VNQ'+9%.^1IXS;[T7S2_ [K^\+II>$ M?=P8:9XB+2(_]9%P5M#-3WN:2-HZNIWK;MYSF*;R+PY5NN^9WZU^X=]XON57 M59M0!M_Q=",UN&>[,OQ^A"='5U GZ3#5Y?H/L)>Z#D\@]1B" MR$U2&$?B&!'0)&)N'&!N5F?R>#=+6XL[*<%C(Z9QY81C4.J1P.4 34P!.VQ: M":1BWX M-II59MNY^I%5NE=K1UY=VBZW)R)XQT6/#^U8J,Q-FLGY3\%T_O;L0H0FMSP- M@2..O4)<2_=D T",NA\[UMYL]V(#RO3OPX8>NS1ZLW$5E76*>?6A*#^(@P.5:D MI5'&LZB_8K-)BU(E?!,_RL#,[ZINL;I:;KRH&XW'1FJ.'DA->]NLPS,Q7^UD M!GNA=WN^U>G1F2G\\E*$K4=(PET.-. A$.0XC#*(*1@Q,4I"$FKM$>3JO7I9'( M^Q^/7(51?-L):D8=>ECKD8AU!">FDW[]6"7PJDT]LI=Y@J! (Y0L\8Q>G[,R MCA$,A]QC]K*Y.>ACDT_KML325^VFV&22UF[*@G[2].33;&5!LZ&5%K3B@DY> MM=)*H<4N4O1GV4_/$*=19A*=]FCF+PVPOPIS@L43P&UK\>/,P YZ'"\-4^C%4$UM#3V+DM7(@6$\ MQAE%CS&'V85OKLKY75T5N0RF9)R?MNO6S0D/!&##QE& MXLB=H!0FV$DA]GS?\4CJ^:EC%']XIL.E\9NL9HU;Y7BW_[.@ZVV@;4(Y M,4]UO=N(4S' <"%W0 M;&BV: 8SQ?H!#H9O7N8>4_#JR> U=SB7 [7Q 0R"JD+_'Z/XF#=F?=Y M+Z_DH7M4U=-NM\=K$T$MA)" I2B4XKRL4(FDW_(T#JS?S+X)EXTN^1 M4=)!)L2S-]E/JVYIGA_I8-8I?EK!P]D]\*3Y79JL[/LQK^I26?/?%J)IG->? M^#=>8I71."M^QS^RA^W#6DSJA(8XA1AY 40H$AL /Q3+?I1$H4,0\4*N>Y^F MW^W2"*"3$:CDX/IW.@9 G[\EFP:^B0E"%?'>2RV3K3=RK\ .5"7Z"K3"3X*N M_JW9-"C/='-FCC; ,GQKP!7-Z*K,'+R!ZS*#QF:[,C-7L']M-N)M,W*ORGI] M_3T7C'B?/:I@:9:&&-$@A(G8F4'D81\2BAET/$+"A$6QXVM5#7G1\M(H>B?< MN0#J,X -\_!%,$Q,M=H(:$_ID]H.;;_$2[VME_AIO^UZV=XL$_>D&MW?'W)@B2?^*XXE^RN_OZ.OVC:K)1O.%I4?(K M*I:*K7+3><I$O/?S9K6.!@AR1>"F,<>! 1) Y@ 4?0"WR. M0H\&LM]/6W M:@.?:[#L6=$GEWAN._Q<0W#$DC];UZ^?P>^DMNN QX@C)X2!KW*C1"&,$<;0 M"7R71T$:^H%6-NY9I5[:]O?&PBHVSW#KK6.+&\2)5[*),O,-+Y#+3,EW=K@6 MF(KOM,Q_V11\9X=ARM1[YSL?MZ+U>FJ=E'>9U"/J!YX7QS!PG1@BQ!B,8^K M!,>IZP8!\7%DL@R=[FII:T<7,;+92VRV< R@JL?V=K":F**?93?M,)LB2?UY M-"PQX$!'L]+6>84/N4;CC;'WW6TQ/4E=N2P)K8CLK:KU^3'O:NZ)!QH6D[7- MFIUWEP9M[?N$>WX:P"1V0XAHZD!"F+P?]UD:QX)=G#&9J"^73&LNS9]>6@93 M$9[S-*M5"KF2;]19O4C!MTZ'YIH"C[AUOW@X=6_I9QF=.:LN9]]XO_2GJKO\ M7#M!@TU-YBP'NVJA\MEV?[I3+!(WTL[4CZ@H?^F_,WQ]VST0JXSLIQG(:%*H"W]7U12D/#"N1%W@2$M(:Q M8EM7M?A+EM]=PE;-6(RA)F.$Y^:A?S20?E283<4[SU"8A&2:'EZ149ZI.$P? MSQ^]['I&6=*J3&Z2E)$H<9>6D/ M=;8T]M@9TWO"7I!L:1!GL^N,2]&;ZQ;"&+C1-P9#B%@V]!_MZE7L\T-*GS*K M#[XS-G7;MXSQG%5O<76_Q@PG:1AB&(>,0.3P6)R"4IGNV(UHA%D:.6YGM]+C MC&?MC[ ^36WW%E(!ULD(&*?B<*.;E?$XAGIL8([+7#G66KE60$IF,YG:$86M M94[KMSUSFK0C:KW,B7;L(5L)T&0^[KSB;QK[Z3I*61IZ 8>>)\,U(E_,YL / M( LI1R[CB"!L8'O6[7?!EN5>NBC>R'QI2JX#R(>GO%4$7SFY62LQ^+F56=/X MHXWDI:G-QB,Z4WB&!60M9"X[#I-QWK*#9EXY:]EQI<[G+#OQWH7!LI_Y_@:< M,YH20D/HIHXK#F)!#.,$,>ASS".>>MS#[JAPV5XG2SN ?=T^/& 9+IN"K!77 MV*G@*)BZEW&7030QP>[$6P&9S60*%X(A!&S'SO:[>)WHV2-*GHR?/?;L2%,M M?E+%:*[3_1:OER(F]3FA/$HA=62 AI<2&,XO//5 M3DKPB#.5<_98:I[&A-LF5S(TT Z/@*:M]G)49S+;MH)*5KTN699+ANT?V:;) MTZ,%CRU[[G!G\YIVM11_8>75>^OU_?$_"Q1>U#=>8QH0GKH.C%$J2 MS'R8! M<:'KT-B+W0BC,!CANS2YX L]@%X_S([]N@/YEW;) MWZO=__=ENN(/#M$"W?"/R_N7=<$?A']*]_OACL!T%-*6A[T 64W$^#C&&"7+%9IEPDB9)%":.46*Y$_TL[8CH#[2A(C%+NGU!^5%[]P[9F2YY_0HE^AOQ3CUR: _9D'%Z3N]3'!+LH M%(?$*"0045\&O20I%*WRA 2!%X5&MFW=CAR9,=!;QZ= M=FIZN C4"S++ZB%D/=7LF6Y?*?>L'ABGD]%JOC^.J*XHE6M%M;_8^\SKKE)6 M$/L^"UD"":(<(N80B'WDP-CU0DZ=F 9)8D).0YTMC9 Z67ON#RN0J1Z;\*^-85V/P>'0XRE;($_,33M\O_3PQ:D8 MVGVHFPIF?"N.V%D-/A75/FC8'F?IH&6)IP:[FI6;=)0^Y".M=\9QT(>BY-E= MWC1&G]X6N;IX2D ZY[Z*VQG%B5X'@2['9?&AF\9HE M/B*8))Y1Y:(C?2R-T?9E,*20H)72\"!X#$L] MNKH0H8G9R!0<8Z(94-\2CQSK85::&%#QD 6&'C6WT=Z66,937I7EFZ>/.6LL M$9J&VF/O+FWFMC("(:3,5:!<.E: / $AL/3KV.*-OLWV*%CG#;>7XC3Q_-6 MR)Z1YAP>HPRZ1QNKHF7 M\A"K #!Y,N&,0QR%,4P\QW?$&IYZV.QD;?\YU5^L;/7>&5LGL1<5A54 MQJOV8XYBSPMB2F""_ 0BGW 8)VD (Y00)W'3E*:^67[$PRX6QP7YC);+A[>HI//4V%C90FIBK&A&?N( )T:^X%J]+HTF.DDKY961]>0UC1G2@5R//*P#.3&3=$(J"'<_]$6>X/!B M!)*UZ!F=/F>.@#& X644B\G+Y@>A7C#F%\[XPZ.*DY%[S1M>OO^153):[X\\ MJ]<^PT[,XA3R!,<0.6$ 8RRHR0]#'- DQ0G5/B)I][HT+MI+VY0^5E$H6R&H M"DUIDF\:I('11__\D6L23">FI7Z(M@PEW(';%N65(2R=Z$#*/@6T^J>X22"> MZ7QG#VJC Z$Q9 -'1?VV9CM$&JO7/UZ:OVS&[XQGW6W9UZ<'4@C^X$["92)# M3V;>0 RY,*8(PX3C,$P\&F.D=6W]HN6E\71W&=M(I\<:+^$:)MV+0)B86#7U MUY[*)W4=N&@6[S0[-O&7_4;M94NS3-:3"G03\O0#(V^,>"T_],YB?;U/NMW$ M:^H-)5_<6&E^Y[YJ>T= M)_7'O*I+M7/\D/W@[*TX>]SQM^)@6.([KG81:^S)I'HT@8%+$$1QX$/"?0)1 M2E+&'3]TF);Y2+_+I9&,DA-0)2B@K:3-T4W_**&)]ODCFGT,)Z89*3#82[P" M#9Z-T*"3NCE"6,=3_UQF']>Y$J#>_D1EBCC"P0/.A"19+A[;YH(@0"U> M8W)HLIW2 .^2IQ)OKL"#UF^K<3Y+FT*:HNQQ(^9 M##E7B3\%36UE^1#1;W^DJ[_9.0R:C=/ 25"SH=F.@6:*]<^ AF^:>R9_+O(; M7GSFQ=6W.Q4-3^LMWFR>;G#&#+))G&EF:;POQ(4RG<)G\?^K=DH]3ZK0R@^D M L99)\Z!.KP46,9SXC7 +I1&'LZ:((UR=C[7]FQ^SYI*]EV@=5\9=W+]S.NF M4*$,TEV[3LP)IBY,'->'B/A<9K,(8"S.KE$0"%HF>%W+7!MZQ]1GK1O1QJZ/ M";]U+M=45>(3UW69D6VMDMG)5*U8@%S) J"G%T,-.+TDC6D<"/R\Q(&(1@S& M&!.88NR'28IC[C&STHJC 9VG@N(>TDM@,["#C/_ YEB7>-W5D/U9RF>8N^PY M*'I6C=%X3+VN:$-A;*XXJK(EV\3SMFF%D:+:!2 ^SU M:%+2KM1)E\ILDGV5NFPE4AT@];$8NW,YJ+9B>RZ09-[8G\LA>Q$;9*')L;%# MNY2QNU1,4>S'/HEAP"F!"(<>Q((7H$4P<2W_&1R_V(A%KN&%:D6=HNJ54&[&0&.W7DA8,X-7R]_O#EE]Z_ M*Z6 U$H]8)A?\J*1U".AV<9G8KZZ>&@F<#:V@JVM')87R3)O8DL;L+W(=FFE MT0MS.>R3-U6&D4%#32QH%A[-2U9-$B&D@XCM_ /'NGJ=! 0#2I_,0##TCODE MWMM[F5*&W7!>_E86V\FA=X TTL;>5O10525J"$78$/15'G MA>ZB?@ZS\_=SEN":F *&D )_2HF!$ME2QB$-4$;=Q0VU.]L]G(9R_3LXG<=' M3/3B*]\HZ]3O'$OV^"Q&7WN*'WMY<9.[>'C$^1/H1 6MK$ *:S"[CP*E,:\O MQ6CJ&3T*'K-9/ 3!N/E[M,7Y9NZ00L_F[."#X_:;OV-ZG^6\?.KGO\\K(&LFGJC^(OS>G9/Y) M5L;\(@_'U^D?57-%H:XCKBC=/FPWLE;G._Y8%//5C)Z78\T)B[6;J\2\TYGI+W[)&RUQWTE5>-]-6W6%-\MJ&R59=\>H'GK6T^ MVP"\J(\^7\^O7V/][8L:NM?UO=C+^SBF(4-BZ4)Q)!8Q[D+"@@BZ 7,\[L7( MC]DK5UD_(;H6!56\!=OO%F:S$F%%/AR%XPY/@B]%6XIX_N7+K_^ M]F7M]150NB^S!/N9@5I@$?93$O]ER["?&8(I"[&?Z_IB#SW1JTK(8#1]1,2^RZ6$/KP P2#&X>6[YEEG;&[D MKA^Y3$V1WQVS;E1K!Z4!)2B$-"$!1+[#8"QIS9&)ZG# .?5KKA958PY?*]CMPP(5&*(6:^"Q%/ AC3A$,W99X?)1%/L3/B&N-LQPN] MA/@JLZ&#XX3W#>;PQ0A[UD0<)BAA$893 V.$)%(+Q.(E<[%$C3Q<[0,\9 M(C9PF[P9)6Z9C/<+\54;VZ?-+XT9.NF, MO44.4$N=&()QE2WQX$'CLW+?<<4.^>[$4R-W1?2>L^V&7Z?O<9G+ MFGMBQZ5.&6]PE5%QZ'Z7;;;R_"@7NWT\K9\FKA]Q GF:>G):R_+)LBIZQ!,W MC8D3)T853$?*L336[-20^;>5X,J?55;$S7".,X()$#$YZ$,NV3#V/B.M A@<>(SU+DNV8Y@$]W M9C(?YTD(+&654[+D8N$:,+68HJI':W:0FIBY.HB4F(JA.D&!E-0>*9U'PQ+O M#'0T*[6<5_B0/33>&+G7:AF(LWXV_:NRE'DEY+W@FZ?](S?X206%?,<1CF)(4G%N2I XGC*>>3[@6>T ;,HW-)V9:UT M$TW[!-@+NM79Q-T>;=VDT ZHO]WA1]C [WIYRSZH, XBN66U#Q&[:E=?:M M\V+AQ ^(APB,XT@>F%,NF%O&%00X3@2'^RDQRI-^OLNE\7$G,9"?"ZB$S*JN MH8E_F@'>>J1K%\6)J?0Y@%)8&ON..;HV(LW/M?AW/'"F@ ]C['YQN94MO<F53OEY,M+XXJ=D*"3\N_Z.<..PS-,"%:0F?HB M\@4HX$\IHJ6L?X/JC\H7=KS%V?*%#2K4SQK.UM00] )& M70/0)>!,;OA1>'3PV,__=5I[:X:>%QW,;. YI>!+P\[))R_,//TQ?]S6U2?^ MC6_<]MODKH?2T"4RGB6$R&-B@Q_Z 608><@+&.:.D;? 0%]+F^M*-N :1MX- M8*DWSRTA-/&$W^?P7H%&T!5H 9M@]FM@8CN+]Y&>7B>)]VF53^;P'GC%?&\^ M(I_O@K/XFB7K-4O1N\S$O/;S\-K*OOLJ.7?/9-J]/+^N;.6#D*S(N8P'^<;+ MIX\Y,YD^Q]_^:\^D$XBB MR=FFXK!*_5EYYLEQVUYY-?H]VVS62&:?0&D*(T=E<4,4)KZ'8!CYKA?%R$51 M8K+'[1I>VHSMY#+;T>Y@\D(6T0@E,&(4"9A<"C$F$0P(Q5X2AQ'ST+JYF_Q: MX[*>#JS#3J:#[ W>J-R;N ;O.%5;*>"[*R#FD3<21A9[$8X2+CXOZ7(8! AB M5QRK(I($<MB%@B_"D)H,704AOY(#/5.4F-0F7BQ.#L% MC8]&ATI:.@?MFIWUT'.HS.$)Y\6_6TYFOO>] '4VPEW3Y$%O,9=*;%V^0XWW;%]DU+H=[MJ&E\>9>8" D_OG;+[VBS_KW!^?Q M.W^58!6ZB7EM"+4)"N1J0S/JHN%\Z[/=.6@KVK]^T']I!#%(W_T_2U.>U\?\&;3)8=<1QPE M21"Z,"(IAHCC$"8!BZ&?DMAS$C_"1"O!Q(GVES;'&Q&!DA%T0NK-\5,(#L]N M"[A,;9HQ@D1[*I]1?& 2BS>;22S^LI_$I]J;9?J>4::;N.<>LUZNHE^.[GU3 MDNS?.2X_B(]C[6&>$B^*H2X'K>$9)/,>)L30"$-]3 M9*U6Q1#\>E:/Z4&=WKYQNI[%"DC!95GX9_4]5T J J0FL]2XT$!R^JH70T(L MI0Z&!E &E3%T6C/?Q'P27\+FYK[(^>>M\EJ/$C?D7NI!2CT$41PY,G,@AIX7 MN6$<4A3&6MY1QQI?&GLI^8 2$#02ZN]=7@!W?N-R"1P3\XX!$D9;EE,JC]JO MO&ALMLW**37Z.Y63SXQ-XTE+F1W^'6_^^S&_HE0>"ZLOG/+LF_0B6*<^]Q!+ M$<0Q3B%RG C&<<"@'XA_B5V&(]?K,KGK;4MTNM7Z;I_G<9_:Z-C*",J=D*9) M+#70UMN#6$-PKH27C9C@YT[@7T"6@QVB7\XC.B(5ICY$UA)D:G0Y<]I,?1!> M)M,T>-?<2-DY7E^G[\M27F?O;:"?-.O)Z3:SH)G0B:OR,):E(/)B6VV>FO0] MA]E_^N;Y3S:+S)D"-\I\I]7!;)8\$W7[1CVC]T96W.6UV(A>IV]+SK*Z#>QD MGLM=E+H088^+/Z@'<1)@&!"&J)O@@+E:1=^&.EG<5EG)J!+>4"6F81'=8SCJ MK:>7HC/USEF))W%I!)P@''8( 5L%<(]U,6^QVP$E7Q2V'7K6;*)79;W^NB55 MQC(LL\:WGR8)6."F(8,I]<0\IV*R$R=,8.PY+$DP<1-'R]IWO/FE3>Z^A'KS M^@1LPS/Z+,W>\5/^YE[HM%9YNRP0MUL/?/4)6EI M5"*6=S+JDN=LER99[(8WXC]L'<<\#J@X#-/4)Q")95J6.D/0]['O.P$B86A4 M&4>GTZ7-Z;>XN@>LE1:P5DKPLSC;L6(C?FCRN5=2AU_&Y+0Y,P9ZB[MM9"H!782;SJIVOOQ+:=#$CQ=3+RG(?@9&8>C5?' MTK16[&0.?'0(]_K"([,?L<5-->[6IN M/ZW 7F![/*2-C246.M_?K!RDK?XA ^F_:/MV\@8_J?(T)69\'26IYSD!ALAW M$X@0SJ"^]G!P+X"M? M3[9BKX 2?(XKRF- 37Y)^:S3A5Q3'@-"_Z+RZ-L7IUY[M^6WQ3^R8J-NZ:[3 M_U4\\+>RO_+I$_YN$&9AVN[2..#W/Y(+4"K!A!ZK,Y%'EP. M__E;XRF1GYBLI@']DKQQVNC9R"AWOK/7RC6G#<- %CK]-D9F*6HJO%37J3)4 M?:RJK4RD)>MZ56L7>2'W.87$"\5I#H4,QLBC,'$YHG[ ?!=CH_Q$ YTMCELG6Y!-S$&=F))JE*"@DQ0H42UF&]( Q%:> MH:&NYLTPI*'TB]Q".N]<:'9N?<1S]FEOYFAM3^PZ_R)#WDHQ?\0#X@Q8=C_* MPJ*5?%]QVBVG]WGV'UM>J1Q5:S?DTA7<@3A-!.DPA&$2A@'T>1 [/(G"(#+R MES0XVUA0^Q4=@:$-_Y:&=>H,WS:B. M-\]/"+=MN_X4HK[.A<"$H)^\29BRSW%+SSM.ZGW*%)F@N4U0Y",/.XX30\^3 M^94)(I#$.(#,"P(48YXX@=$UYZF.ED;Y4LY>6J*5R@8^,F/427#UZ-@&9!-3 MZ4BTC*GR'!26:.YD-[-2U#EE#^GE[/-CJ2'E97FRKNF_9?7]/FG^U48-(F?' MZZ&VH8YKZOJ"/BB#:1JG$%&:P#CQ QCXW,'4=XB#?3-6L2[CT@CI*]^(EN]6 MX([GO,0;M4'!["'+,S'D6%7BXXWHAL?I*098E]E>==@F)\5&N].5IK\+!7L5 M)U9@IR,X6:FZU=,FITXV"-;HV+Z$,S/Y9!"_7 2FZ^I"J\;P9E?M;O_("U+Q M4H6\J7.8M-?F5+RE!'J+-W3;F&R_%)O-AZ*4T5QK0B+"4$H@=;D#D4,)3((@ MA:F#4NYXE!$^KL[=5!(O;6WI%X3KZ=P=BQD0O+-3&RB]5Z"O>7-H!L]U7X&> M]N!/J3]H 1AK$YGL$S(TC"SAPYC-.O+JW\1XB\K4XV3;K#*9O*]C6YD:_I,& MELD['ELVH+TQX.S=5DIRH^KX*)'?%ODW0?7J-O*//*NK=9J2T/-H"@,>Q!"Y ME$/B4P\&GO@Y34-&N5&2*J/>E[9$O4]33I6;Y]NW0$H(Q)CRAT62[-!3N)02>R'F]I83Q,4[:1FYB5!D$[ M'\MKCAXKJ#*:JO5^-A2?];JT3U";RDU0:9A;O*'8V$E\1S&R5A.S$+"),AW? M&KUC3J]=IM0K^A_;K%*YS/I#%"8'(3" M.$YPD' WPI&6+<2XYZ41;R\)/Y7RB?WB1EE6ZT+\5<4("2Y11O3&B5G^*#8X M]3T']5XW?9(Q&Z?S?#T9^A.3=RB>(N8 M&_'^*-P&%@&S]F9;$4:IV5\>QC4PTLC0UOZ\3H_T6KUYZOVT+\!":$#\),80 M>RF#"+NAV*(['(K5@B$4,\=-C&*[Q@BQM!7DZ_;A 3<9Y&Y$F_T9;ZK_OI8%!L5LR;]Z(I-<;=/?.52%@9I'," 1!%$3L0@"=,8 M^B3U_15FD4I*G#"0QB1^P9N6#(..$<\B3R0U=P)Z)&;A>7"+,T M+E5" 5Q5!E7JMB5K!3?;.%XT5'H;R+D&8&*.[JDAC3V]4[#41"8< M:'59@?[UUVJRV#H;N%K:4UXDRJQ[2QN@'>XQK;0Y\E2.Y=96-=Y4E! _2*>[ MJNTJ[UD!UBB.(]?%#*:Q)YC5CUV8,.I"!_M1P+#O4->HM+=)YTMCTD904!6; M)M^ERG%9&2:Y-$)?\[0]$:93;V!Q<\)NLUXVHJM?-#BWK@ "Z%L-([CYL7H$ M:K:.TR9=SWN,'@'*B^/SF#;&45DO6+)QG,JJ?WXH.?^8"S[@5?U%;'C:DTS@ M.7X2>ER&HU)26$J1!53JY$5E$)8 M,QHS0%Z/Q*;!Q&LNP)2;IE 4SJ=MNA*T2=(WV^.F"7Z,NAX5O(R!^20 MND:T\.J1"&^>=FGXWF[$,:\-Z"23>&DTV8O))T_[?)1 B3PR_';Z8=$XOJ;'_S"VR_/X/R'O M7]7C?QC^"3W^SW1L7HGFIBS8EJH\#U]%MQGE'5\@Q",W)1BZOKQ@PCR$,>4> M='G***-!Z&%'MR#-R5Z61NVMH,KEJI74D-"'01TF86M034RM7M#G_L'D2T^OZGIPXHT\_@.?28^2R] M+=E567Z5&P2U:;BZN[OZAK.-P6P=:&)ILU:(5JK:S4!)J)^W_!Q4Y^>K)90F MGK7Z$UWG<5N%#C[FW\10 M%[*BW3I W \B6=')<1E$B$4PYHGX6^R@)(WN4K!$;7/%R,Z9<1W0^I"CF61:3]T8,RB&/+4\1,W\7FH%_QJ09;%[4H: M"7=IR]2AMU [Z%Y]ITNI2'^HQA+5) /P.C36G%\."[*H@>E&ZY/&T%A@.F-0 M)^-!?4E>F26-(3O/H>9-CF/8S[R6-6YORD)6]&1OGOZHI-."I/!*1F9>T3K[ MUNP&B4QW2.MU@GC,?+%)\X(DA2B(Q'8M<3&,(T9DT*56 M<_TL-1"0_P)V2H"]%N#/3@^+%U_C0;3$ER,$F)4FQP-TR(X7M&1NG_K81!B* ML_!-LYG-,F:L>-].9OZR M>9CD6\%BVTKL"UNW0AZ[/'9;$;!%JEJXZTO33> M:<03*SG5C^H[A&N8-"X$86)JV.L_(KSQ$ C]D,8+ )DIC/$+?Q3-->%%]]*? M5]WUJ8CT1U[6.,LED]8%V"/X-SNACR>P&0AW/'QCMA#'$Z+VPQI//6+.4K?X MQQ=.>:9<>Z[N2JXNE,=O>':^7$ZG&/\2/G3H =_I<5E[=;'3.T^4DF$]]MRB0W0L-KO;( M[@?BL\S+^@7 ZM/O) #/1,S-A:S\5C<[8+>RWN3)CQM0Z>F7I9F8 [@" MN1B%]C.WQ-C&< YPN7Y;L[&\L7I]_C=_>620N\SO?J1548!Z?T7ET;B M2C@@I3.,(W^&AIZE;C00$S/K'@/PIQ3-HEWMJ,JV@K"?M3UO5/4QM5Z$21]] M:-SDD['3U^EO1<'Z3I9?BPW;&_)QXGF!+Q@OX!PB@B.8).*/V$U#'D6,N<2H M,NGY+IQX8:G.6B:^A5#?3=1X=MXMX_Q];<2+H4AET"0+?%@\D MR]6A%X>$ASQ.M6S5EPBQ M-'+XXU&,K#3B= E-'U5"TU0+DD';"]]RD_F[H)Z4]&'HL. G$$U-?*W//_4F"NQ,;*+FG\8,R1V%!*ZU!:N$A6,]?L=D":V*J.873F%S, M0X 9)&.V!-Q,MV7&'YI9EF8-,(;2- ^]/E^>9@TEGB5JUGE^I!V]R4ZJ2G*S MK)9.>1]S=5?)WFSKST7][[R6>4S%J=>/7<(3R"//E;E%"$P2SX,!HS%S*<>N M'F^:=KPT'A7@2V^6SB&0QM[;H#H6EQGP#>J>WN MCJWS+%FWOAE#9LL#K=CNO'=X0C!?6>-/W+TRYUTOR M5^U^^;\R7LK">4]M"I\8I9Y+!5E1[*40^4D,$R_@T(O2*/9QQ$A@E"[4J/>E M$5C//K235)'9YZM_7)H)3VLT] AL,HPG9K'+X!V?H,X$)MO)YK3Z?IW$<2:P MG$P"9]3(.$*3]Y??L\WF4Y9S=0X6!U4>)YX;0.:*TRH* A_&H4]@B'W/]9P8 MQ<@HP/M%#TLCIDY \*<4L;'I&!+12Q3UR.8B;"8F%#-8C GDI.J62.)E^[,2 MP4GU#B?[Z0?'3>CNG' C!K.^RMG[[JCP6UE4U3H*8N+'U(%1& 80Q7X"$Y?& MD,LRYCARW! 99?0=[FYQ4UT*!1Z/'J7,9OP9F/6FOSWP)N:"3M 54*(JX';" MKH 2UQXUZ,%BB2?.=#8K:>@I?L@@FF^-HY,OV=U]?9W^4?&KJN+U-9'Q0/)" M\/T/>B]3BWTHRNM'53HTO_LDDRSL')[7B." HC2%*644HI2YXO@3HC;3J\U0BD10ER_AUL5'*3@FRR M.V5'-?1NN&08];ALIL&9F.AVXR+T $H1<-T;EO?]8=EI Y0Z^^@7>TQH 51+ M-'F))+-RJ 7(#@G61I,CS4U9GM6BM6^RMUITE^NE#V>RFC.OFHK M\&RP&KV 5,RB;RK8L7A8DFM<.9@_"%]8QBTV/#,#;;(KO,AFVX/UWQ9;4 MZ7;3Y13;1P!^*38;L4V0L4=KQX]\'G%QUO9P*$[=;@BQF!,0)\BE!/L\3GRS MW%[&,IC,^WE2>^VR\NWE78&=7FJ+];;D+*O!)WEJ_U,J SXTVAC:Y\Q'3(^/ M)QV%B=EW&OC- Q/'0F@K>-&X_WD#',?"\R((AI X6)P4'1FN' 01#.,P M98S0(/&-8HLLR+0T NB7Z+317B'P3*->$IH5 MZ ^94LO>ML4BQI8V,C8DFG5K8Q'"P\V.S:;'D?(?%;].WU=U]H!K7JU=Y&.$ MO01&D4\@HH)I$R](H.\E3HII& GH1E9'L"GQWOC M(9F8P@ZQ6#5Y29_ G^U_K68@'8;#$ML<-#XK<1Q7[) #3CQE?IJYX<45K;=X MLWF2'J2"4QX-JFH=?WMIFYN;]]>@$U.Y.T)2DEE&("*>>J33LVR@_[ M!*YZJ_;E:$T\Y150MZ9 &2_7PSA86K9/=#+K\CVLZ.$R?N9I\]1*[\4YH'[Z MD&WXYZV*B/1=+T0,8E%8[.E2#JE1C\WTLEGQJW.AR=P MF59$[J:^B/U[&[P<(2[&U44P)-*C,' HC#ERH!>ZG!)"TL!G)BOU^2Z7-H&_ M\&\\WW+ 6DE!*40U6ZTU<-9;N>VB-_%\?V$+7(%.7B %/A]G;[RBZ^-C:777 MZ'#6E5X?@,-5W^#-<61SPE^O2S >88Y\SD/HAXDX$H0>@XG#8QB%.(S]E+C( M,7)='NYN:22S]VQMW(Y[U2M7X_+F:\*NQSOVP)R84'0AA0BCD!,OA#)\ B(W$'_#@IC"B'H.8E'(/2-.FD+(I3'9 M/BIZU2_TVMT,,E#D8*\H$4$KHZFIZQE\NL:NL:#,8^[2 MPV.$P>N8VA>8O)XU-[/1ZY@J+\U>1Y^ZS('OBO['-JLRR0'JKR7O;E+$632D M?N!!$@0N1)'#(:%8;/V\.*$.=BCQ_#'N>2=[7-ITWCF!]21>@4[FD==6YW'7 MVUA917-B'K@4R-&.P&=[J_5W%R.ZO^*1>V\R]:#RW]S.MU% 21^%\" M78<0B$A"81(Z(?2CE//$)W&(W'5=U'BC>=@<[,Z(;G:=3C=+A$A UG>Q%@YM W+8,:<"^Q'&N#K\8Q= M2"?F&@MHVLM"-)7!1:/#960C.FL,,7C3W!WW"Z]J7*NKP7=<>@:U#O[OQ"]U MG7*'VE@:D_1D!<^$!>^TK_[/XC;,&38AFY@I1J)EY)BK \4H]]S!AF=STM51 MK^^JJ_7\R"B:G&2;#6?[ .6JNRKVD,\]Q'P8$I1 %/@.Q &)8>*&<<)QY%", M3+88I[M:&B%TDH*R\04RC*PY#:G>QL$.4!/3P ZCGI03W+F?Q\)6N,WICN8- MO3FK\(LPG/-OC..&VU)=KSQ]K0OZS]8TPJZ^\1+?<7EVO^&EJE^QIAPC/^(, M4AJ[$'&&8!RX+G2X( V'.CA!U(0I=#M>&F^T(H)*RBW(HROKP=JBB3]G.6#% M9H/+"HCM&ZBD$K^8L8OVH.AQS1103\P\2IZJLZBR%>A@5^6=A$:IW['.N)='F$RV&^XZ)'!E MPAE6/-:&4;./#JV_Z+WI/K($6,H"" @9.ZTFP2PB2DXFN( C?P61)0QM9B]Y\5[&LM M"$CO2'213":SXU"R"==,6?=7WC.H L!\+^X*$'Z7Y;GT(BU2T$AD6G/ODB'$ M'J$1B@A4XX@PQ1 3-X8>22/FA:D+\ M8?AFR']_0H"E>&F= <@DN_V9ELS(4-;WOB[O<-XV(_CV,Y9U5^S9B1R8IAWN3330E_JIJBJDEMN M(_>2@S^5[)IV20/\ASEN&E0GYK37!9058B:)C42SA,P+[+.^)UR00:UB&HL2 M5/2>,VGV>2R+;YE*WIWE:5$^-.A+3RV-L78CG#P8FWPU,L5/Z;Y;@ M-DN)>$\M#T[B.VJ),&AHEB7!7+%N"1CQICGEW^(?^YOXG<59IM?8%#)8468B M58E(URP*&/=PX1C$\3GVKYVQGUNC3B%X+W7$C 3G3P M\T^W7ZY^TKP=-P/^/-U/ N?$C'\2R;W8@N\U\N!>\DEK\_XD",]$_;?W'(A> MLK+)$M5B*^NYU.)?:C$.Y7X<<*>;)4XW!FZ UO7;FHW9C=7KD[OYR^/L&U_Q M1JP9RH7A1GKV[)QNW-!%3H X3"CE$*5N"I,X#&'@IM@GC.' U]K(G^MH:2RN MA)-;F,;UR8:CTTF,]0P2-I";F+"EB!(S)>0*-!A.X+]T#@I+)H23W7U?L/U*J>D9H-/6TLA @=E^SF)- MO/WZ!>QE!XWP^KX"6FB>=QRP#>34W*"!H=YNSLBAP 2E4=X%6AW,YFI@HF[? M[\#HO7%;C'_CLB;RSC6RR?\JB$HYOUYOZZK&N;0TO,LV6_'8?H^CHK^N2%67 MF-9K1DF0,B>%OD\11+Z/8!Q&%(I=2NQ$C' 4&+EFVQ%K:8SUCN>%"JHI2LV2 MTUP5(98#0!K3J/$ORV"D$;HLN] 9T.LTX M0/H&QCD':B:[8^/-];@?L5R.F+Q#PNV(]?)(@\=NQ.H"X';$2*N<)5ND+8P' M3)07=S&;Y=(6&'V#IK4V1WI"%P\/1:[.HLW:^E%TS=G:Q0$2@^1 GH;2QQG' M,/$]!CGW$7/\E(8.-RNV>*(GDTDX3]7%1M#&SKEJ#)L5R)2PRNS9_,;0UGD* M9[UC@07LIEYI&M!:0VYO48'5;UA2_HF<=MEL7> M5WZ]+7%>I;PL.7/7$8\"YK@,8H=QB.(PAMCW$L@=CT6$N81RHYL1D\Z7ML%5 MB;2_R5S&\J1+^V*#>B^WC>K7)T9#CUBFPGABMCE9S[H'\ZT&S)9*5@_C-6EM MZA-=+Z (]3 H>M6FS[1ARW7G-YSEGXJJDDG&Y:15/5ZGNX(6:TX266':A3[S M,42^.,OC.(E@RITD=!F.7.X8N*Z/ET1K#L[ONB[%!O+#D/ET.K$E\W6GE2?Q M#XUWM3BJG'*?N-1=Y>PPGC_[3S@JK^LBM )JC'Z6:OS2E'%X-E [728?A$L= MB&P.QES>1),-B@6_(ET\C9V,SC;\RAY'NHJ?=S_2;FGL&3U7UNQ_R^K[MUMQ M+GW@Y8NR7X$?QQZB 0P(D]%57@0)QBY,/8HBETK3,S;9?>MTNK1=]SO>[!#& M9773@EGWO&X7O,D/[XVXX+N0%W0"3UMJS00B:^=ZC2YG/N3K@_#RQ&_P[LA: M[V)+?IV^%3,JJS]@VK12GJ1^3&,8X$%MD+R"0 M^ F%S.$!\0B-$3,J*VO0]])H:"\F2+DA"9E KL=%$P$Y,25)J>46J)$;=(++ M0_X.7"$[V MOL8J\.6*V2LL;]#QOO7ES2%X4H1_1A'G1KJ^R2IAH^?T/>B\3 M\\C<3VL?.P&E20AIA,7>*&6.X*8T@2RB7A!BFE*D99D\U<'2"*B3$71"JH1E M^J6[CH(XS#8VH)F84@Q1,2K@-:3ZJ!)>1QNS89 M[AOZL&EN#$:",?7*+\2"4BX@!;.XJA]1U]:RW6]ZWG7YB%(O%MYCSUP<%?7, M.M_81&253F6G%Z<2:=M+ Q0&-/$@#5,B9J\?0N)15QP.$NHY/L<\BD>&2IWO M?6G36[EB/;L('!TLI0&]'@-,!NC4*_GSL*KG]WZ=\*"[ VS$GR382A\U^Q%8 M&GV_5EB6/BP#L5H&C8PD,[X1_WKW&\]%)QOI=<4>LCR3GL.UZ.O]CT>>5WSM MT)BQB(G#@T\\B )Q;H@Q3B!&@L'\*/!)&!FQF%:W2Z.O5NH5N&OD;GP2GTD. M>".ZIK.HX3 P$D1^Y$8P]6,.D=C]P3B*4^BA&,5^@EC 7#.'-/L#,8]_6C]Q M48?Y))!K+B+689S\'-A^RK_U/N7G0H/W9V U7S2,4+*U6NAU.N\R803$B_7! M[.UQ"T,O2=AU?<]+6:&ZY/>B9='%QYP6#US>]GWF]75ZBW^LG22A8<@0#.0R M@3 1U!1S#-,X<$G,5+E&DQ7"L/^E+17]7'J%E%]L>WL*@$VA&T\P=D#TB&M" MF"=FL#["2G3P3';0"-_Z%:@JLG*W+'2PQV=!DR/?:Q@-3'/ M'(4)_-G(:3$F]RP6EFCC=#^S$L19=0^IX/P+EP3_O-W@JKIJ/][02_R4>@DD MKH\@$GL7&(=>!!TG2,(D28,P(F9N1(==+(T+E&S@"O0C6,;$]CR#48\#+@-G MXLG?XM'!8W_6G];>:AS/LPY>(83GF(+'HW>./GGA?B_P;KV20_7=A"%?NPY$%$2P01Y&/I1ZF,'.0$UL_3/*_[2&*D14F4;+/=B MCMR>S/,!&.YY%C>L4YNT57 MH/=Q?-'X.,;OQ68=(]L;O'F$?YU=XZP#\2]:7MK:T0JG7]?S.4[#/'Z1]A-3 M;"N7Q7WJ26TOJ+SYO+W9JFL>5:-?0?/X Z-/E8>&JIUE-HV1Z\8NA3'B/D0\ M]*$X;P8P803[H9_R$'EKE1)(^WAYJB^CF;GK<=+S5,]$FS4F6ES794:V39V! MN@!O,:VWE33@GL[?8@RZ]F'4!I33GTIU#-TK<'6 [ VV';]R%BY[Q]B3/-'#=U0]_$]#/4V=*FY(<-__&UY@(RE7VM&F&G&<16;^&VA=C$4[@3<]4E M%V2@D;0U:=A;FG4 L;0V#W8UZ^*LH_3AZJSUCKV8=56"[RK?I;5[VB5'YM@C MW!$K=TH%?R"<$DA"C\ $QVXL_B5D5&L-']7[TEAE%XW]!HO?4U-_2C/D=<\& M$^$Y^6GA>&#[[O=*B=[/O8CWIJ3R+FG'%+FH1\$Z83#\Z;Y?/2K^+"PZX?'G M&S$O!7*+R7:#RT]95:NZ:@4%4M(54++JU_@X#=,P UE#:&*F MZ8/3UMP$UFMWG 5B5,&.TZW.5J7CK&+]TASG'S:W*+S/:TD'C(EOHFK_\RG+ MN;L.H\CQTS2 +);F!9)&,)&9X CB."8A2[@7Z)H73O:RM*G>" I:$5?=7X 4 M%ESG!N:'T\">MT58@6OB>3\:*2-;Q5DD1ADN3KV=%'\=$()2$B'(DLB1],(@]DD M YFE@O(D3"-?YT)D ;HL[<)%W@8\MI"HW3SO\-#/A"!GL@^^AK2SA;&M/75O1@2[8DD<89 MJ=_)P%'I)" #*C#CM\6G["$3XMS@LLYY*7-V])^I;G#&UHS@P%6U4$@00131 M",9BSP:=( Q)$J<121P38_4H*99V8E3I35A?2NETL'/"I+\-[L@&I@(2Z50&T.JR &I%G:@"IASWK]44P6K)BCY-A5FOV13 = M6K4O:VQD$1A<9=5U*MBZV(H3>'YW4VPR^M3\N;?C8D(=S%Q!BPZ.(7*I"Q/' MCZ"34IQZ'B5NG)HEZ-#KV&1BSI.@0\DM'=%N1*O=YM.PU(L>YGI\9Q_'B0EN M!^!>9+&S5N*"/]O_6C6NCT/*5F$7O4[G+>EB!,2+8BYF;U]6F^IJ[WIS]2,3 MY]C4YRES/!C'E$"4RNT9"@+(& DPCY##$B-?@A/]+&T#MBN)U),3_"DE/3T_ MC'#5Y)K+T9J:7$8 -;I.U D8+)>$.NSE5:H_G5#U5*&G4X^/(P-9;^T?LMQ: MKV3F[^+@N2UESK@O,DVM=&U2Q/1'7I"*E\JMXV/^N*V?5QU7=XIKXJ5IR!,' MTB1U(:((0X)CLW*H!CUOK1%82>\"E?'K=B]VG^&:>",1D*/M"?#=V)&[F3L MN:BNP'.\V](I,C9N@OI-HX"SE?[-J.]YD[^-@>5%ZK=1C8RCMR8H[Q;_:'-G MON$Y3[-:NL]F^5;P[/5CFX.YNF+_9UNI:BW7:5=J3;RH;G3V]1UC)CB0LP1B MXB8R'B^%29"$D(01CCAU934Z$P:T+>#22%(6AVRS^ )<586\!1,[*N6Q?E!- ME77U[60%52RU,B-0ZV.MQ[&O.8(3TW ;@"S'L%4._-RJ]TL35M!H"/8J2A_! M3DDYJ+NBA;*1GY6FO]BL_#GU*%CB=.OBS4K[4X%[N#),UL^XQ>,SK_>92/L1 M][?%%\XX?Y!__RP@E,$8A4K=_#$7I,JK>NU0-TQ9PB!!&$$4<+%B>$X >>IZ M"78=@A+/9)WX_\E[U^7(<21-]%5@N\=VJ\R$/KR M]E?JKSTI%E62I:I[K$Y M]2,,5R7[A"(TC%!FJ9]^ 9(1P;B0!! Q=Z=2W=*(@'W#\0'A\/A?H4L/4F\0PGS^_:Q,U!;0(<4 Y3%,<2/8, MI96-<@J3-,_2"#/*0JUK]Q?:GAL;MCEQI'SZP;2G< V3UI4@>":A@_[CR:U& M@="/\KT"D(FB;C4^#*-0UQZ-!T)/3]^8+!2T1]1N:&;?(W:6WM]Q52IB^RHW MI_5Q<$J0H(EBG!"G$%&US8]$ C'/>F/M^R:9N4X\NT\#47"1 MQT&>PX QH4HUABJ!SEULCP8X6KB(+L* MK6G\7$9 67JH>F%PZF@Z[^4-_$6]JEYV^_0_;D<&7_D/OGKA'Z5TE[)ER$Z7 M+ZH2L7(9R?]C=0+/(.19F!80YQE3F=YS2%A"8$ C*E@:9"3G)D1A(O0Y@IX3;XE970.B(I&PDF)3 KH#H ME-RN:WR_&I8?U8-? MC^[<@^J9X9I:6HW$QQD0;T CM4ID_+-YPL$E7CN@7%4@U>MTV@JD1D"<52 U M>]L\%=$W%>!6;E_#B#R4VR5?T(!'0<((3)(X@HCG%.( 8@FL6>#O:W6WJ;[:OI$L0)7'^Y$O8EX0P6D*\UPHSV@2 MP3S@"$9I'L09S8I$[WZX5F]SF\ -#X+URW:SQ2M6W]Q[WDNK/N4Z]0_X46L# MGM<_>65PFC$*OL9!CTM(?1_]=&H2WH!&W"9WR*:N!-5*[!) @P,BET!.=61T M):!FYTFZ V=,(VV,=V9DZXZ1Z=0VB^9IU[]M-J4\LF'BM4W2TN^N:_6]):M MG[>/HOZRW?J)S0 M:[SJ!-=_X=LVOGY_EA.&0E"4:7!<7[J$87NHQ'@<]OY!7;#VSTA[40^*XVD[I7/7!0JXS&A=^O!S466/K MZOZ/?L'I!U0]>EU)!&&Y%?G3+%WY<;NERKNY>'K#-Q&"<$!2&4 M&]D,(HXX+&*$'UI/#3?-O>S?7E148MW8M?1-_ZH M_ .;!<%Q0K, P0AGJ33#L@3B&$7J?"Z)$0NR,->Z83W4R=RXII%3><_(;M)L M6E'U?3^]B([[S%S@Y)E-6HCN!-CSRC=W$.E[Q5Q -9$SS 8R(P?8&!8#?J_> M5R=S=XT)W_5RC3YK[MRZ?7S9+-,^,20SIMS8WRI,P5 M?U1QQ5+R]8JO7VI#85]#'DA-@%0%''31=W-I@3ONZ7*-J^]MI3FDCHTP4]"L M/%]:'4SF_#)1M^O_,GK/609%Y63[N*Z>\-$MMP4),&><8,@#:7BA, \@SE@& M4QJ*E 1)3%.CRQ[:/<^-E3H70B^7;K^QJ-VN/PYF.T&GZ$ZU&>P(?:,\\* 6 M&YS=Q/6:JW$8+G_9&WOZ?>M\CL-P:&1X'&G 1?*!G79X@&"<%BQ!A* BTZK4-]C([6I+;A4I]YO]V31X ,P?[U<#XWA".WMV_Q]X\ MY(/@>+F$_R:>[D$UAR_.N_%8]T1CUND#ZU"DW_"&LZZ1NTB".$\)+F",> 11 M'L0PCR5+X"1!21H%<9$;%:PW%V%N[*&*MJ@2:3]QQ< /OE%A&H;E.BS&08]E M_*+KF8+:8+A&_)M= M7ZM["66U+0:WV=[K:JY(OUY:[=V9Y<+P4OMR^5@VBD MZ]'T&P\^), <8L,U -*,$]=IR9(*7\BF9"6N7N^J9D;_SK??U^S32DUISK_A M);\3M5B_O9X_O'NLR7@5L >U2UF@&=C)+SL5-''US^8:\@HNO[9YWGYC: M!_BN*-FE:-.2M0=0SVC<1Q_FIP'2&'A"<^K,1: MSJ;Z9OC35O=0P*#)N3%N*SK8R0[82[VAVZ7@E!.]H\"-JIKYHEOUUQ3M\5," M3T![YE7'&!L=$5@@9G528-+/9 <&%LIWSPUL7C>_I-B48G_ ?WYBLJU2E+0V M89MST$6"[!*FE8/=&I-X+9L2PJ;:+ MK\J-46(:>7W/6IU;A->I>0I-UN) MWG)7#*=-CZ2?'^X8MN&I;0V&[UV8'0[:D_BBWD,;(/E"9_,C?SI,V^.V)IFB M%\7?32<<(CR,(9YE'$H4)X+@=*(YT;YM0]- MSVT2*LG,W"\=F/2<)W;*>YYT2JCQE+#&OHIS71UY&CH-3^HG.%?H=)=_X0G+ M.H3-91V\_%27JZ\-;<7J>:)*DF841B'!$&4YAD7,(IC'J9R9@N><&$W&GG[F M-C/W8H*#G%:Y4_MPU9N]#M#RO=NV ,J\.MXP#*Z*W/7T,FVMNF%5STK.C3QN MNT&N$[]CNBU_\/=XBW>ER8)8&;^\@"(N5''1B$@BB".8A3F.248Y+;#9_OAR M1W.C@W:SUQ$6*&E'BY.9H:N[.;X>LVGVQL9P66R-A[&X8F?QW*W+'FA$%$.>9(.R!,[8==!!Q9$ ,=C6I M%:&C]*DIH?6.L^O9RLW_N"K_R=G.CZ?ZJ6M\-?&W%6?JXOBADJ[\F[1OV-WV M.Z]4E9KV GG]QH+'82JXW*9@3"*(BBB%>4@$%(RSA(8!I8E1U7/O$L^-RFHA M59&N5LJF2J-A,)W_<=9CP5F-GF=_Z$KT?^#7NWWOJV#Q8Y4%E>*QC'+^OE_*5 MK]N505S*Y;?G1O2UE* CIN2*[4NU,HXUZ0%KF*'=X.294FTA,@H5&4;!*BJD MI\G) D"&5>K&>HP\:6=EMB'IFX_KZBM_EA_#=ZQ"1SJ)'!!M9ZIY@B_:8AA)VR=M.P@K@*QFY_5G9&DCXXC*T>CPTG-%'T 3NT,@SZ;4]C,RHP*1B#.&:260ABL""2:((LYU&1Y+&@1FZPH];G9D.TPH'* MIH#0,6Z:+&&+AF]":(%P?Y9]46-7D_RH[6GG\R6USJ;NQ8=LC[(Z,[ZYUG9W M2/&^".,$">4M0ED>0L1R#G/"8YCA+ C"3.0H,0SX'.IN;O.X/:WOWK MB&UZO#6(N.XAERL%1.)S5(.[O:>(ZQ*,JG]MS(X9=PE#P1R.?(14<(ZV'K@($OMW^WBX770U^/!=QCZID>KH'3/&+>"!U7 ?1ZG4X;3V\$ MQ%EXO=G;=J3TE6^QRH[[ 5E.@A\ST5)R^V"!P&/5.HWIC)" M(FE"P")B&(9A6% 1(LQ"H].%\2[G1D8[B0%O13:C'@V,]6C'+7*>*6S*U4SDR%'DVM_(;==B;S%5X0ONL?O/1GNP5:G2>4M9-7 MU3)[MUZI/*-\I4H[7O!@Y7F$BCQ%D) T@B@(,HC#0JAL$E%4B#C,B]!DK3;J M?6Y3M2-\;>L>B>_"EV@V-GIKO#?$/3.$2["-EWXKT!Q9 69]3VH06,%R:AO8 M-6)N)G3.27=IN#ZMV!?YR>E:#?TMS(V9E$SZ!L0 ,N/VA!M0/)-'1\A]ZCQ5 M$X25/TKV@I=@$# CJV,<#RLC9*#9R6R2<=6Z)HK&TY8W=CG9'C("?)0CWH2N M+W(19IQS 6.64HABQF$>R!]Q%B>(4('#V"@]88AP$,D]"TM@'/*0Q$&8LU1KX=?L;VZ< ML,]2T9'Y!M12J]3:K>1 B6Z>X&,(]V'J\("F9P9Q :15Z@\->*[* #+4_N2) M0#24O90/1.,IUE,YD8E[ZZX-'\91CWSXFIP/#-#(]_-+O&/%\?#( :.S(K+?4QJ4PRJ>6I0 M##]L:TW<,E:I&L&*1NZJ^VK]HY2B+T16)"C "2Q0)&=\R J(18 @DUJ&,151 MA HS,^)R1W.;].VRUPK;6?!V IM:#3WXZIH+UZ,VC9U@ 9B%=3",QA5F04_# M$]L#P^J=&P(CSYO["E78]2W=ON#E\O4>E^SOFPN7NHTO29BU.C=&.*I)O5,# M*#W C\U?0%]> 7TWI"'HXZY)?WC[/^NP@=K#/0P["*T\G(9=3>;UM(.@ZPFU M;,$\S7^]_>'5,ZZVK\K16H<$)&D0%BA#, UI+/"<50UR,R@ ,*7]%18"+S4Y6'&!(J6Z= M@,'GS*;QS^]LT4T4]6FUE8-8GJ6,:C,,A#0(XPSE,$ <0\03!G/. T@XC:(P MYXP76EY.LV[G-N6/LL =1#]-"*?' (8C,,P+_G#US!::D(XGA[@&6[:F]:%! M4YIX>HR/^G]SK*\G:CND&OJ6[];4'!1Q4-.S86.3D+:=@CLJMWS;G."_JF]J MV>:@W>78R8-4VF,$!A)AE6.'0!(&%&99PBG.4YKH)>OH:7]NE-V(:)9DIP^Z M<0J^$A#/7-MBL<\2;4RIET#1Y\XKP9F()+_R9]E<'?ZW_S3ZNZ9J_.XU>.M MRM/?Y#/='?L(+@3+\@A*HS2"*!48DK@@D+$L22(6Q6&6+W[PBJQUS\_,A3#Y MLKNB>-R7206 6*Y_;H :6K#>"0_P7GJS0S>+H=$[D?,+MV>6E<*#&NN=^*K@ M^"]* U"N?@5[)O8@.CKOLQ!@TL- >X!.3PJO:,FZT%BYY9_+'ZJ; M$^/Q:5UMRW_6JV1;^?<+_W/[\),O?_#?UZOM]\V"!BP-\P)!@L,,(BSD1IX4 M F*.(Q2&A=S.F]8CNT*JL+EHU?YV6F^V12ZP MB)(BAR%. XB8(DX:8AAD#)$HBI(T2LSL25=Y&2>R')N\C)LF+V.3Z1JL.U<= M?BE7[:_[KT&;PZY'B_\B*2XOY;:\<9O4AQ><_7 MK6]$,UYC_\+<+*'[#W?Z814'M8HRCOI+@7U12VMXA4.K4P6BG F M>#?*X/R/EOG>SM?9.,H1QQP63$40Y*G\%T$("I%&>2#VM5#TR^)'65G3S6!7'Y9KM@N40A22(8A)G*RAE)MN $ M01J2, V* "%DE);#CYAS,Z.41[BL-35-\>ME$/4HZ>V'QC.O-0J"7Y2*OS9' M(@_51JT6H.NVF"[!L>*@YWF+A,5^QP99SF.O0@Y M<7IDGT"?9U;VVMO5?K%[7-U5]=4'5J=PO.=5O6HM\B0-(AQ@F!5IK*XN19 D M40Y%$!59&F1)RNW=8WV]SMU+]HPK\*/.4ZJ,228'!5<;95\VAJ6]GZQW&(S= M92Z@G=1K)@56%YT:D=LLL%+HQIOFQ7\V!I%[-UIOCV_E31N#8,"I-OJJI>/@ MA6Q*5N+J]1M>\CM1]U7'SM,HP5D8JJN3E#>Q;3F- YCD:EWJ> XA7@. :(9V#;5@N=-:XLVF9<6VD@LG:4SR+(!Q$3&(:(@D704( MQC0/<9#$-,7(* GN61=SLV-J"3M+M%4YG M(:NZ-KL+']U;($!KS;4^O]JYV M.><=3+NIZ57P; _3_Z3EEH5^Y^Q%63W[^EEM7IF'VGFS3S; <2(M$A)"&B1" ME.YP*, MKYU,4K7@P&DV!UNT7.V.=+N==K-D",;9WLGT?1<9;^O=O\CBE.0\@I'\;RCY MB$(2!QG,"Q9'(LCR)+LBU^TLU^ELOE?1WA\FE%*XXW_#UO_GM!, VB,)5;#5%$ M*O0J@GG& U@0D21)3C&C9+'BC\J7^Z _VX=[U?JTB^;3/NO;WV>^$QJP5DZS MN3^"M!X/. !N&D[8"7H#&E'!3E;PRTY:AZ6Q]&!QQ!8CG4W*''J*G[*(YEM7 MU;BX?7SP'-[AYI@=;R(S-AG$T')D, QU-:BZ,*WQJ*FB\87FN47%6JG(< MY5)ET*U]"CGA+$(($H9SB *1J7T&A47( XQP1'*4&)UKG'4Q-W)H) 0[$:U\ M"A> U#S6N H>W\<:9LB8GVKT*N_J5..\@VE/-7H5/#O5Z'_2;FI_+C%1;:DC M_8P%41Z1 **"RCF-:08QY@ED,4KB(&,D, NMZ+0]M]B))BWR\B"@V3SNHJ8W M@2VQ\#QS/VL 8#Q=+ZCJ:)YV6YYT@EY0Z71F7GK$?%-^(=GSWS?WG%=_K=8O MS\99Y#6;F]M2VYNT_.\;H*0'M?CZ>W1=5,=W[!X ]3S%];#TD [>$"JKW;QN M'Y/M[0V5[N[T35^U6^]_>]F4*[[9O%L_D7)5>VU4QGE0(57N.NZW.D'.@K>@(.*X"@!\VF&:U5LO*,G:!6].01NN#.S MO(Z$(X/-CXR3FGY>83XU(OUV9GT-_>C(Z=/JON+/N&3ON>"5[+W-YB6%N-M^ MYU4CVB*D,UKP#JPDWL:UJS+ 1+Z$P#1&<9+C @G!C(K#ZO8\-R.X(W@[ 8]$!T<9'@SK MR6J/AAX7>L'8,_W=WKW[=);=XAXWD0?\. _R,8[LF6TXSZ0A/ [C=MXJ6&<\0L=)6(ZJN]&<[;TO-U2- MP%89Y$@D"0Y@HAG%!8T8) '.*>XX(@F1+?<3U\G:F$M 8" /E M@'I?G:PFT)CPW<) H\]:%L+ 957GENG$+WVL^'^]\!5];2/F1!KG183J*TP) M1(P',.=%!/.D"!C.HRPVK'8QWN?<&+$;:;<7U3(V40=RO4V18R ],ZN]_#JVMROVX;]>RF?5C2*W MY5IU>H@*B)EDF:R((8^S#*(@E=R3) (F(DNR. OS.(A-N,>D\[F1T$[VVF&Z M%_P&K+CF;LIJ!/2HR!>NGCEI)_8-J 4_1A8<9'<R%!0=I#9PY0XAI MN'8<@>7;T=.#D^/Z&#IHV#E\AAJ>SOVCH=Z1,TCG>9LBT$\'4Z@]N6H_6)J' M*1)))*T3$4 4$@Q)& J8%P%)8D)C;E(+NJ^;N;' D:2[4UR3(LB]>(Y[B-R@ MY'GZ7P3(JEQT+U(F5:-=(#99\6B33\NP9O08#H.EHWM?GK""])@"QX6D1Y^^ M^M**RIC>9-'9UR0,ZX/FHYJR%B?NK,A?Z>JO+,_UJ#URG&7C)C#XV MU7;Q4&Z;%%RL_%&R%[RL+V%&DC-8'@G "D&=*L,!&FPI&]1^:_O+ESM27/QVF?7^[ MDTSU4;5VTWO\0?/-T1>^/=1=&:ZO\I4SSI_4OWOJ*O$L9HBK)+T)8Q")7,7E M22*@)(T+G%*1U!_B_E&(SG1GK0)RE)K MTNHP\WY9-E7/UE6W[F6Y'^SZE^V G\Y2];?J,.BK]0IV1[ULH?B+FWVOA\$9 MV"B[[&VRG;4'B+I;<1_-FY]5R :_OBQY&) DO*VJ6[9^EHO#QR5^U#VIZ&]A M=DNDG%)*5*!DA2&0TLH_-TZE5FS](XL!X,8/+-Q@YGO-&H<+_*%D=G1N,0Z* MU:G%0+.3G5F,J]8]L=!XVCX1]>&H<^\^RJ*44QQ%,.8XAB@2TM:.T@3F*>4D MY1'*8J-(KLO=S(T-ZK3+W;/\2":AZ/KGKH?), A8H626H[@?!89+J"YU, MGJBZ7]%+R:H'GG8<9M7)A9CFA,8H#V <$@(1PQ$L(A["/&.4QD& "AHXB:Z: M;]K)P0B@FVMR4.H,@!YW.(;5MU=_O7J$G\L?TFAXD+\O][D:/,1Z&B#C.V[J MK5)5&D"@'27E+'GEEQ=UXG@GOG*U&5;[FF_\4?6P600XH*B(&R <;9[6^?C_-KMH$N M<8HQXS2$(D>J)#$K(!%)"J6M$K BRC&-M6ABO*NYT40K+9#B@I,LK_H.X1%T MQ[WT[C#S3!,#<%F$7HW@IN\;=X??9.YN\\_.R"&MA\B CWFD@1C#.!411#'/U&7F0.[RPDSP- PSO2C5 ML8[F1J [.=7I#-@H2>O=W4]>/GY7+DW\@U?XD3=_VH#UH=J#F1G6"[R>$>8" M3L_@1P#4*>)WX+SK<&G%JZ&_!ILWD9.$ S+S'0H[^K @.G MS4];7J!'N;/B GW/6>RH:)TC8/.54U[^J#-6+I?KGUC*^W%=-9:'.HKFFSJQ MT8(529"E(8,\$QE$\J.0,SX5,*5%FJ5!BH(HU-YBF?4]-S)XJ/!JLVR3\;!_ MO&RV!FX9&^PU-F#^$/6](VLE!P?1;\!>^#IVIMU@-/+?-$GH_(%ML&OS!_I4 MVSC'X)MM\>S@&]KS&;8XW2;03M6C7:%E$W8&WUWUB%?E/^O/[]UZM5DO2U;_ M<+MB]_(+W'V:=^)CN9(RE'CY3?ZFC@;9[+6O)N&[6G',OY%?>&MPSKD(L=Q3F&4 M\@!*BQY!$AY3W!&UG#4_*4OT*74LD9G[:;;R]D M4[(2=W*E1$*@@L?*J8]BB$@60A(1#J,XI#$/*":95BBG4:]SF^7M?:?/G]\9 M9-[4AGA\;^X%.-\NO0:SG=! 2@VDV$#*#;J"VR0UU8;6(,NI#X@GRV;QW*SW M&U"NY([[J3$85;=<;_C#^O?5U+U003_/'0W"MU75'2 "Z[E&,: M[4^7>4Q?V:,$9 :OV2;?>2I5D:PV0<>K2GR/5Z]RR;BKVK_=XVJ[DM/[>_G\ M^;ZAL,W9'^]^MH_L;_O&HL!!D3-I2N8%1"B-U+%O".NC(92E09CD9HE[/$DZ M-YK;"[B_N&N:\,?7D.KM761+SDGSH_D&>[SW$J^.[0LGU;78'O7Y'I:D%C$!*:G#4NA&#[_OPZ"*KJW3ODH_9E($\ M!D^/=ZTA\6UIUG+=@%8RAP7*+BGLJ@C94=O3%AJ[I-99,;&+#UF6[*A/#?AG M55GQOBI7M'S&RWO\VES\$0D2A-$(9EDL[;@PD'9AEEOCE\/W31SOI43U(+>@+VH8">KP^H< M.I"XJLLQV->T%3ETU#ZKQ:'UTI6%?SK)'MN2'^Q.%;Z67%6N'G_#FW)S<*L$ M::'26C-U>!A"%' !\R3",$BRF* LQ#C"5J6 3*28VP[PV\O3$ZY>52! M_[\ M3@^ U0V:LFK"9RUK!1F-DB8Y^<;>-VGM,;VYC+M< /9:@%H-+]XQ)WBZKD1D M),/;U":R@:FW6I%58W;,^97_X*L7_E%J]DYEZ,)T^Q_E]ON[E\UV_<2K?>B4 M2%(D$ L@"53(!97_4;!"P#"26Z@@X0E)C;A2L]^YL6,K-E!? M@)#GY*R<%. M=.L8-]VAT"-$#P![ID!'V!I3G2%2CLA-M]=)Z6VB MLW?GQB^JUDY'2*-21.? :)P;7HF);_?-,1SN*P[U*F];:>B\P2DK#/6J-R_?/3(4ADOW3%"0O"/"(PS;'<<7$20A(* M50\QC8NH2&B::&7'-^QW;K.\*W9=F+K-4B?W7%1J 814HQMD8V9'Z Z&GAWA M 6+/I'&$KA(9*)E!1V@O9H0A4([,"-U>)S4C#*$X-2-,7S>/3.U&M=^NV!>\ ME=/O3MP]\ZK^W>9SN>*?MOQILX@Y882$*M4 7?WP53\H3Q2_^M]J'$LE':AVL:SMH8JZ[-1RVZ;->\]5 GR M09T9["_@X;M\_O",2AKRLI'/;->[!5REP=]G=.M&R.+-9BU[4%$7]6:6U;D( MP5,;E,&XE*'I;2T%7%?@2<5RX#_Y9I=?OY7AO[D)I#4?Q8%(6H/&)@NE-5>P M&TMK\;;EW55U__7+>K5N6E9Y\55>_;:\W8(@3J.\2"'ED5QXXH3 ',<%#-(@ M9'&:I9%@1I=2![N;FXE<2]O6I[ H"CZ";92Q-*$%@8)%'"*1,(@#2F#$TH#* MO0@1--!;U-VC.]%B[A5?O:V%.\Q\+]0U6%U)=U5Q?FF%_=7AK5@M5%Q==QWN M;-I[K%J*GUU0U7O+C*(9+QCR'X?YW=?>)!-Z1)G=#!Y[S*HJT#U??^'KVQ^/=1RDBD>]?=H: MU 2Z^/[982:=)G*(X@*HI(&O=.D/7P4=:F.X2N)XJ1U>_-5^Q3=_17.DY)#M(6)$) M% HH>)Y#Q'$(\SB,5'%CE!6%B ND566IMX>Y<6J;TF OI6D&B5, -2CS6EA\ M$^4)(M;)-4ZA,4VD<05$4_&@[L=CD0JC1_O1M!>G[TV2"Y#(8BRJ21R'-8)'D&21AE+& X%KE1/.MQ\W/CL+UT;IQW/BT$1T7%3L+W+C\E+GOM;U;^+'< M4+S\3XZK#ROV7K:]R#-.BU1NYGA!I?6110',28Q@$D4\)GD6%WI[NZ%.YC9Y M6SE!(RA0D@(I*E"RZCMC>R$=]\BZ ,JW26*#D9%W=@P$*Q=M;Z.3^6G'U.HZ M:T>?M5V9Y=[E*W^6W\+W^F[@^K'"3[2>Q\=U M83O@''&:8>>34IL=,*<,9]F*$WN,O7]1MX[O>56N67/ M$"(Q"I+ F0X44'Q M*(.$JH-*EH8L8XQ&N=CE97FPML@N]*PUY8XSM#Q,=>[6,;\VYJ=M!NA;F6&V M8+Z-!29W;K6XH)'WIJG3Z#!SBSXZ?@RO2QV^I[1;G- Z*KV7MWCY2OV52YU[2F:X G#C"60IVD $0E" M2'A (!8P MED#5"93:E\NRN5QUG.5HGUBVJ4!,<(R+#"&8D2"&B%,.BS G, Q3&N(PR@G+ M%L^-(;+%U5:/W[S(:C*'3R7V-YWOGOFJR1^V5+GX+-.W.1U3%G!$"0H@3CE3 M)WH8YFF.(4TH17%28,I0.Z8?5KI)/NY7W=%K:\#=Y5LUMBZS&U'S9O3S'\WG=SOPWD8[?/^ M^1@*UWD!GQ,:M\'AQ&81QBP1B!

Y-ZTT$^' B:>UC M' %?C[3= >K;/;%'L@U';V])'(1U1Y]ZH#CBP9'.)B4T/<5/F4GS+3N*D:3% M.[MT1.,B41G'*(TQ1#1AL$A( $-!P@+A+"O2T,0M8 MZ3&!/1*>9_X>! _>BLBX"46[YY_('/SO>O'U: M5]LV&TM[IU]%GGV4SRZ"(HFD5FY<',(&?LV]G7=0?6_>:@5@K<%9:$7''=K5YJ:)0%6:."TV<062[JI0 MV @Q=7F**X"Z4+?BFM8L8S#H=\Y>EOQ.[$(_.I%EG"6IX!P6F3K?H5$!"484 MYCS.XSBD0L1F<;#]?GT^*_C4ED?A';K4^GB;^]4L<3TC;PJ'6G]NE4NP.+1K]+M M[06'C()X+[@9\1B,A1X'^4'8,QTI<.M<[_<=<']1DH-R]2O8"P]NQV$VIB=S MQ!PQE4''DY*6.2"G_&71PG4[K;48V.A]?%%)@"]L]VJ#NGOIAU 41.IZ,LD@ M$D)=3Z986EHQ1I+ULB(PNO3C4KC9[>4.A08;#8X\*':[.B>#:+8-G'IH)MPW M#GJ^-C>7A@VT^DVRU70)O>.]J1/1WF0SZQ+4OMVOTSXL#P=?-N6*;U22&5*N MZFY4R3*YLO#55OYK(U>=)M_[H;A]6Q%=B")+"Y; I(Y"+%(!BU!D,,E)7 B. MU/\:'21:BS(W2O^ JQ64NVFPW EJ>/IH/RB:)Y630.W[5+-5 G2TN $'/<"1 M(IU8,?E0HXS#4]"K 75U8FHOR+2GJU<#=G82>WV+5V;4>K?$F\V=J#T-MW^6 MFT46))&(0P%CD4LS.",QS$-!( L8$@PQ$65&I2MZ>YH; =;R*=.IN<_XAY+1 M-M?6&:J:=JD+K#PSF!E,]EFX^B!PG9#KK)^WR%RRK)),A MC@69H S+N<_S!** "4A2%9Z!"4,DY=).,JN3L&MY;A/>,K'>.6+#D_LJ'#Q/ MYIU<[K+I]6IK7P9AW]*T!1!.%3@K?7#V@/F-Z0]5I3)EJM#M'[QZ;3XGS>O3 ME]Z=VQ23,JY7?/VR6;Z"VY^X4K[=HXS].^GU+UM?A&QX!KI R_=$U 7*W4P= M0\7J\O;%!B>[R3VD3O=:]^!S%LFVWZELW9NOG'&YGK"/ZZI>G#O9O=N0W)@$ M(LE)"!G-4KFT<@XQD1!RS%.6)"1$5,NV-NET;I1PEH#Z\^=WX/:QXO52;)"% M6A?T86[P!:5O*_Q=G81?W39KA 92:M#8YMW\_3;IO76!-PSU+^_^HWWVOBKE0P]K(-_^RM>=HI0.:LW9 #J45URWJ>E2C1LJ=Y1]W/1= M._?)>U6#EC8W[>2_E[PM.-KU?"]P+!*4A00F@F"(PIS# DQ"%E41*D M)IX4G4[GQO9=F>O\=MCZG% +XQE/KW-78"V,"D".' MC%:7D_IF3$ X==,8O7M%"6)E1E7\N]PFE#]X4SVS*:K)MW?B ?^YX$' F30Z M)?\$%"*4,5B05$#"4A04'&>I6<"Y5J]S8Z$F:2GM2@V6ZXUAL)8>X'H,Y!Q& MSQ34('@D<%M&]Z9)"7L#5!376@ IM^-ZNKHPN2RK.]KG]-5U=6&X6&17^V5; M>Z@)6.VZ+.JX5775D-U6E?R6ZOW=YNSPER94\(A%,,Y#E8XT9Q"'1$"6D2)$ M!6,1-0J[LA=E;JQU2VGU(C<L7ZIY*Y6 M15:MV,?R3_6O7=FUC'(2%3B%08 3B&B80,*S&!8ISU**PR@NC!)&]G 8DS"E,$G4[J_("20Y32 +"0_#@A5)HGW6<*'] MN;%!+6+]?6^4D/KN[DO8C1\97(F(YPG?@"'% [5\%H< EU#1]_=?BB[?K39,_KR_ MQZ$9 S'KQ!DB9P>]?[C_M0WX'P>B88!XC:1SEK0.0ZX'FHR[>)?=8 H3<,6N==9[?,U &> MNN=V2__KI;2:&V:-SFB67+JXU!Q *]E!1W@O$\8.-W_WDX8Z?^L[21K :-Q# MTFGEBAIUW]=+^<;F@VQ\^[I((D2R(N4PSJ(8RN6<0\P3)(+HG3'<.NNX]> Z)F/&H%NP.T)3/?8[;%+/P@N:\L==S!]+;F+"EZL'7?Y MR6L3)0Y<*6\"_ FC,4G4*;%("XBR+(0Y"4,8G8; .TD M#V;7FBP&19-&O$#M>U/@#N4KLC'J N8\.>-HQV^4JU$7D/[4C=HM7+=IZ%A- MF_MJ_7%=/>&O_ =?O7!I[!11%"@N"RF%B+ ,%EG.H:"L0)Q$.$96.2@&^IP; MB;5B&9[6ZH!KM@US!-E4>Z^.N#R]W,3<.L4U8,P#B^+GO]=#XWA=) 54>UTZ5,?/3WQYX] ^ KX=IHC/@<[C< M' ,/ S!P$MSSXF2'P<."=\^#1YZ\LO9HFZ1_Q3X?0ES;$FCL;K4O;B8?^+)> M54>USM3[]6?SP.GW5?E?+^T]_2 _%8^KDI14KS:JEW1R]-SO>@I?\Q[+F5YDNLA.!12M"QN MZ?63T+,;9S?0GE>3PYB!LVK23;357AMP4,=K LE)A\!UT4NO,K]-$Y"F!=Q!EDL2)Q% MD302B*."6)?ZG]OJ,I:_MM:AO8>OM !_-'H8>CM-1TESF?"'O6_"=PZ[RU)9 M0^#YKY%UL?>Y%,<:@L:@*M9@,V[O*7]>;S8?UQ67MF-S2X:^/E1XM5&U%.KC MY_JG97,8S?[QLMDJVV-_SY82G. LRR&.$(,HB )8U,D6\H*&<1(4G!ME5_ C MYNQHM=&DO4!(7\'V(#W >_$=W8R^\KA9S%M7 W0.O>(W?4F[DG7+[]#?^0]OSF M-[[BHMQ^Y5NY7'%VN[GG"0R'L$BB0N(>%A DJ8A%$DA@C!&(4^T M;D?J=3KN4_CSYG]217B5E?^R/DC)SX^M@../0U&IG,N:^O4-?1;_"6.8EW MW(JU5W%7DKD]*/W[6BTG75R M^[ 76)R-3_,?)W2.JGIG^S,7=J1#>2@\.XEN 1]HC7!#'PW!&^)V@#;F[8X&?5;JMI=!VR;L',;=3874I&F*LJ+7(3:*H+K ME5R-A-QV-,_)-8IO/ORYK;#LHUSAZO73EC]MODA@Y)L2)-G3XZ>5I&6^V2Y2 MCKC(8PKC3/F.2!+ /,4((A'3+ T#$G)B'5 M#5L'CFS%-$;&HD7(3&H"#"M1!-5?W@%"J& MU7[L=_P*XO &1$$8.DPC-XK,4!F#B^]-5[-@2.RC @6##SK+5*!*VSRNRG]R M]HDIGZ@H\?Z,O[Z7(,4X#INJXS8YV^6XE"S=^>-"2,LY1B2&B1!RGU04$21" MLF@L2;/(4,8H18L5?U2?Q\-5Y7,=2ZXUJ8IF4IW)[V]B[3/+*M>V=1;?"09> MS]B>R3B^90W?@[Z@J_#NENA.Y?HTOJ,7:+56=1W:3T(=.'W6^"1<)-'P-$K^ M$F^X%OBMDW5X&@"-!!^^>K:PU.OJ/$>%>Q:"\(P'$8&,YP*B'&.8_NRL]*9T%)"P\MWMB5_*%=BH]-*;_JI16EAJF.S7(>3;8&^J M;!W7X;H.$@-3_3IH)C+4O[PH.U*=E\LOZ:4&JMH5+&,O*N@=R,UXN6:.CL8' M4!DRTB^\-9V)WB_RD8$^\)B=>7Y?K27VV]=[.6);R:@J=\JS^B9^>WV0+=;U MP:,B"8J@$#")1 212 3,8Q1"%B8DSZ*,%XF1RUJCS[E1X$[D&U +71M*>[%O M@!+;JBB[#OQZ5JYC4#VSYN?UZK$-Y'\X"N-W7K/= !='AJ%.CY-:=@80G)IF M)J_:$E!KL=49G.J*%9M/TI:3ZV"0)$6(D@@R%DG>B44,"YX5,"-AP!D2,0[% MX@>OR%J?>?HZ,YD;W2Y]4LYNSU4G8KMIS2U0UO*:&V :@.LRC0L0/1/, ;UO M#7J-G* 1U"6]C('AC%5Z.YJ83,84/N>0T3?>WK78=2L1AC*<9^K.3II#%!4A MQ(QC2/) )!0+SD6V]R?J!V)X$M?&B3A9#LF.]Q#@1O2W\R*^K>OP_RI_X>Q= MA/\:?L'_(YR!$WL KW?[G=WD;U)*?.8_^#+:53 *1<$%E8L"3P*(4$!AD2<9 MS%B4HB(,$C!P#KY@Q!./EXD-]F^?#$Z\>R]7C7ZOUS^UW M=0,1KUX719)1G!0)#%.5\ X7 I(H0C!."AZ+ DH0Q!NTP63@$S#-16&*E31&:2 S4"9(M-,P@_W$@A+%V)R$#3>5V1*#[ MN.UE@.,T%5_X]L.?=/G"5#_K-?M9+I>+(*&(Y@6":90@B-(H@CA0@2IY6B1I MG@F6AF9AW^.=SHT>.BE;<)NR9<4U8_Z,P-8S*%Q#Z)DP+B2\40D2?MG+#'9" M]SL$+6*D]3%R%NRLT>7$4L2/." M&&6GLI!A;K31+:FQ4T(ESVB.C6Y J\A-G9FDB?BIE5&;_-WR^_!SW2:?^YUO MOZ_9M25.] =4CZ$\#Y-G^GJ3$;JB/(HQQL[KI.A+\$8%4XPAZJ^<8M[4VQ\Y M2E-PD61QD68B@'%!!429B"&F409#5.2,A#S*,JW*")[DFQM-JPU/LW4$N!7] M[8X3U?A-?XQH."K_FL>'7P;< F]Z;-A!?X;'A4JZ?]ECP@ZT/H\'N]U8)_^H M.-[P][SY[T^K\^*#7]?+Y<=UI:J2+UB0L(Q+9F&]C>]_N-Q."7 MG>R_@G)UC'@+-/A#J0!:'1R:PY;HN4N;8-3[U*D0;*"YD-[ JADSZN.4+53. M;?;A3TY?MN4/:7*+DLH>/JX.94HT.$RKH;DQ5BTPV$L,=B*KU,;K[6J]U2P: MHX?B,"\Y!] S"XUC)S?A+DNQ& $TBU/@F1&"FZHPVSE]Y^ MCWPX/MDL*,(Y2=((AA@1:4<%!2110B%#>1Y0&O T?[.]@]KGWOM2=>>#= M^_;6\L=R0_'ROKXY_%'^;K,(4I$6699!)O(((DX0S#%&L @1(C&).-(KNS+8 MR]SX?2FX-?UMOOH]FMTJKCS?>Z MELYJX]"J'H;&5:3EY4ZF#:8<5/0L7G+X:3MJ:"(LZ_FPOQN/!(\X5YDQF=Q\ MQQABFG*8YED6(%'D(L8FV_"S'N:V9K?QQG6>)C,". =/;^Y?!8GG:=^B40OG MX:^4^^*RBL[Z6C]^W M=^)OF\9#U52>N:7TY>EEJ1)S=9VW"YHG0N H@4F$*$0!RF$>2#,[3<,D%&D1 M9CPR]&9;"3*WB?UW_KVD0Z?7;H=!V]7M'5S_[N_:SU7K< -J+>!:0*G'S@7> M%NKJZ *ZRCAUBU\%ISM7N9T84[O/KP+K@DO]NO;LB/*6_>-ELU4[P\W#^I:Q M4K6)E_>X9)]6[_!SN<7+>@=#3GG7CV? QF'I,_,9#Y)FD;^\_O6N3 MV0YY5MH0G?H0N,Y5WNKECJ$]PNR(O'U(."FO>X3XE/)]=F4>X?6NW+[>5AR_ M6S.^P/)_\D*YCWB00Q2R0I)YG,,H#G)28)P%!=(-ZNHV/#?>5;(!)1Q0TNE' M;AV!-4R1UT#@VVFDI[U11-8E5:V"L(X:FBSNZI+XW5"KBW^WS6,HY[PB-G^O]7/M=?D\","JY2FQ9%#!'B!2R26, B%B$621[C0#N>LK^;N4W$-C-? M*^H-:(0%4EK#F3F [/@\=8.7YUEK"Y5%%L,A)*Y(8GBQV8ES& ZI=I["==FAFS/5 _K'H[&2=0^6: LU0\CN_S:8/A:-?0W\^DMO^HNJ<6_/@+9MRP MJ;:J^@][H=N[ZANO?I2T*4=%6)IE69A"'J( HH2',*E#&7IR=8XE ZP+*W@>+!\GXAUBCET+];N5 3K M%=@K"6HM;T!7SZ8$!#C6U$L@^10CXKJ4A$L1WZ8&A0>0>XM7^.CKVLNW_\EQ MU=P2I6$6818D$+-(+@-A%D.<(KDJI*1@G.:A2(G=U=M]'W-C\=,KI4K0ZZ[= M'N <]P\Y ,DS>UK@<\6%VS,$'%RW/;3Y1I=MSY3JOVI[_NC;9V]I#X[J0(([ MLBP?FXB:.,U)+@2'-"0%1 BETF24_TH+E$FCD6<)HOOZBF^3S^6RY%J3ZZ34 MXC0Y[^O G66=[FV]%_<-D[OTC+R>53F3@9QMRI?+&5]>.]47ZP_AH.X\\[P, M#\T,4[[T"/POF_UE> !\)H(9Z=GRCMI9XL-]YO=[%:2V7MUNMU5)7K;U_=.U MNGVT7FTE^K+1QT\K:3/RS7:1$Y:27-JO!>$11'E*8<$2#G&6AAG).,]1NMCJ ME_UU(Y:1\3M9>=]-1[?_\=_S*,S^%^ 6N5L=#5T6A2E!@8!Y5N32L)"C5A2< MP#2+4HQI4<2A6#0Y,;YM<;6=ZP">BNAQ]<'+VG3 6[#]S@'AC^5*'2,HUY3Z MA4T"$4>#F00T3C.YA432)H2(I 221 B(,(KR,!!QFA3M8'Z0'#/KH=P).-E M%]NFO[5MK*O_W]O%%AD25+0 M*)9;^YA*"RI5RW H,&1A3"E-.)&+\6Y_K\?;KD2SV,![YNWFZB9@727,N-K9 ML.FQ]:1#,5&.ZLLL? -VN@'%!^!(NP'V!JV&[EC<->:.>-R96),RN6LP3[G< M>?OF<3M2A/+IY:G-*!#$C+,@5J,X&UW]=:B )%/ YRF$>QW/!B=4V1BA1RBFA1H)Q' MB=8UQ>O$F-M\EE*"\DG^L2X5U/B5P+;"JXW\E;ZA=.78#-/"=(A[YI".$LJV M.:@!E!XJ/JG51*6&_!,>C8'2F\_+$?R>!R>I_5+4S*KW-5U MDD."#Z/TW(X2;10#OZB;HK\"**?U7ZY?-MS MWJPQLJUZ_0B*.*C7D"L;GV3!<0/ ;G5RU-H5*?^^\F?Y!7^7G]M]M7ZL\-/[ M]1,N5PN*8\$B5JAE2AWARP4K9W+'+U*6BDBD(0N-4T+/@_AK.E!=82>YR7&'CB[!( CB+A, ]C7U?3) $>4OI@2<.P=.P(Y M4-+FELA]KS3:%ASS''-.8!'S&**4Y1 7",%; RRI; M90X\:6JRS(&75>AF#NQYPG7-F\UOK[_C?ZRK=TN\V=27"1D+44"C$(HPSB#* MXP#F!"-(BSR..1(L2[52-5CT/;=)/%C&90/(*ZCE![4"1E:^@<][S3 KI]$*B7T^GOPG;>,VV$/R=>(Q@$ M6M/#X @^WQX&>^0L0JO&(7$6,#70U<1A4.-*GP81A& <(HH@'$-,LABSEC!9)@FD:F-!'7T=SHXZ]G(!QNL05-PS\ M[ 54CR9;25EA3-E31AA]WC*!<'/Q M9+>R%2BG"0]#6.1A#E&0"%AD<021B+,TIRP/N)$)<=S\W&;^K44Y]Q/ ].:X M/0R^71?-KL/'6G]99U=Y:H\;GS;%[$7%SK+#7G[*TF?X\/3X^^JY5,4FC:MJ M]C8PN^E8^]$>RB=U]/[[E_M/G>*:AG[%BWAINABOA6H2;^-EE!SGD=."Q-X; M>;'5:1V30XJ=^2@''[9;?O^Z7K.?Y7)YNSKS'!Q&U7"Q,6IS1A_V3N[ZAO:Y M9ZS[E7M8KJQ0<[2:F?4]Z6)G!'WCU])Z3[2(*J&")*&!$0[G1C8,,DCP*812+@B1)1&*SDO?C7GSI8*H&ADAB\'\+2 MF*[TX7'$41H=3DI,^@"\LJ)$5"&$T@3<-0,D::04S" M!,9)3C@/TR@FH?Y5E\N=S(TG.IS.AY=<)K%\/"'U^J&'G6>K^FJ]E-,29B'/,TAYD25<\T()%'(H421AY@G&3,K13C4V=P(\&/)EPQLVASQ MRB>R5L*"BO_@*]-\UX,H:V_(G&#G?RMVFF#_!M2B>JBKKH.)N_U7?U=3[[Q& ME;ZPYQI_QYI 1+G]O-YL%E0@SG@F8)K33-I)$8%Y+!*(2!Q%) @$18%)&KI# MTT;D,$$JN2]\JRXUKI_,>6 '5I1@$3$D(4(BD-PJ";9(&((\R!.Y.R6$!]2L M3)$=7-/4)7( F#9-6H#@F125]I]J[<$O2K1?9Y%HZQPJ=URY:WAJ9CQ1Z (/ MGCYAQWK-:#[@/_E&76N5 [Q :1+*B2L@D9811)%*(86(@ &)DB J! DRH_BM M\R[F9B*ISYJJB,7Z(K=85^T45]>U3=U+%P#5F_#7P>1YXK>3OI:N3DIP Z2 M[J9PO_*.IO*%#B:=TOT*GD[M@2?MIKAL005X2_;51\>9.Y7#+R M+=V6/VHWU"(+F"!,[HZBD&"(4*X*"I$8ID&<$R927G!A8OCH=SU'PZBAA%9V M=:/BEQ=5]+M<_0K$3@. ]RJ8\83!J.CQAQ^L)S HZECQ^R[,?]O!O!<>W([# M;$PZYH@Y(B.#CB%6IMENV;,( U')+"II%ZCH>$:& M*&8%S+.4PS# 44*S+)$[$Z/X\]ZNYF;'["2MT\Q@)>4-6 TLTZ;(ZA&1&[P\ M$\\>JH-ETP8(.;9LQM%P%8[>W]&T >FC"I^%I(^_84<2*L2];/+WW*[8.[D) ME13$)1'Q3KS0(:XS"G"8DB2&8;(Y(R['Q2XK(#YI3,+%NQ3?.S MQ>6*LUT!ZMTY?Q 5 <,!+$@4093$TA;*.(4)8VE&LCP((Z/(H,O=S(VP=E*" MG9BF>7XN8JE'1MI?P:?-H_O^2Q; MNQ/OI,54;C]B6A<@NZ54OEZN5Q\YWDJ&^1W_J1+K_K:NJO5/V>L[+#\,^=PB M#4C$(R1@0H(0HHPCR0V).KA)<1[@-$V85LWH:P69&WNT<@*R$U1E\ZPEU0^% MN6I@AHEF2K@]4Y%2H\X14"L"=IK<@+TNH%7F!NQ&9:\/>#?MJ.@',4TU.A,% M.GD>):/8*!?0#L1/7=7\9#%6+D#HQF$Y:<_B&BK[1UU\X9ZOO_"UM):?/Z[, MKZ(.-3*WE>601;@]#8?W'^[ %_G_2G"^VC25Z3^NU]O5>FMR0W40RN'UQ"F* MGA<,0P!]7%[509_6Y%CF+!8]H#*4E MBU7(D8"$1 RJK-B%2!E+<&QR3#G6X=P.)YL"H,N#U+4?R:;XYRC4>MM?EP!Z MMSZ/4?LPC-HUEV &H7!_#>9R=V]U$690^8&K,,/OV1&*T_+)+U4E7VB>K*-/ M%WD>% @5!,:YVE*'F$ 97W+F91_<5K\.N^)]J*6]G M91.B3AOAFZ-,0W>>YS'7X\7YC*1G5MTI"CJ:WH"#KJ"K["X3PT[=>L2[O-QJ M? -:G?A9UTG9@&^--59J)>[=:HNHWVX%N"V#2_2#@7 M<4$"R(HP@HBEKV::OK"QMI9FZ36XD+:GE!LXWM2"P-ANU+M0)-P35]1]@8DN.N M,(<@>I[[#O SS+WEZ:270>8[BOF%83O?J[D//Q>/K=UR/*, M851P#$68,(B2C, B90RF::A2L1&3MN=&#GOQ#.NY78)M>-)?"8;O M!5X?!Z.RPCT:7U%8^+3%R4H+]ZC2+2[<]XB=@;X+W[CG53W;?\.;DBZ"@M&4 MLP3R*$DAHB2'A&>2YU(!:DW.PE[E-TWT,T3/?%1BY!9NZPB $1$D, M?BE7@*V72UPU3]5__=7,A+^,N)X)?S6.GF?X'D(I8+.$WX!:1GGU5IX*_EX_?MG?C;IO$B+-(BV L+EG79Y$J)"]<"OL@?<+M_-;ZA M,@RXYA;?%8R^+8$]@K6@-^#K#D(I;.,"<+CKUP'%U>Y_L*]IO0 Z:I]Y [1> MLKW<1K:?5IMM50=Z/2B7Y$)DM(A)D4-4,/D?*HL;1B*"68'B+,\%RW.C(G,7 M^I@;>WRCWSE[61[RGVYW^4_!0?(-^*,6WK NTR6(]9CC2N \\\499@]6F%E< M<^M%Q=G]MO,>)K[8UJOB^8VV_D?-'87-&;C*#UF?6=0G$,_J7^]+E4&-2^DM M8NC,6IT;-S32@[WXX" _."AP8Q%59XCVN&_1']"^]RB&&'L(O+/#SLH9:=C5 M9+Y).PBZKDK+%BPK2^(EOQ-U",\7^6W=B8<*KS8J2X;LK_',H2Q.6$YSF(0I M@2@+$2QP+G=(8981D:<8,;/ZDJ-=SHV]E,1JA:YE-O1U&@"M9]"XA<^W?6.& MG'EE26TP7-67'.]PVBJ3V@";^HTLG>B.9(- M%R3.48PC 8LD+"!")(W6 MW^10\@*Y.+-:6KQ4$\4F=F($:#U:<0#>1/6"%&I-.D-06S9[:15^([7]S.L# M:<'BJB#0<&?35@#24ORLY(_>6Q:;JJI2MQ9N5WCYNBDWYMNGGO?G9FI(.=-+49//OL@K=6=?SA-E<8[Q5<] MK'^N%E$B\B3*8X@") WQ("]@3M,(TC2)>101$@=:968&^IC;%&W$!*V<-T!) M*G$$2E:]J3H$Z/"<=023[P76!B'MR:N!P< LEF\WLUC^XS"+A]J<9#IK*+6; MUSJ/7EI%']Z>V\P]+X/\;KW:E!(@SNR*17>0&E]LKP?) M\[P=P@?\H83U4"#Z'(FKJT-WFGR3TM#G*O75A;[PI*4KOCT+OA/?^*.REK[R M9U6C8?7X:276U5.]_O_VVO[QL*'C).,HC"C,"EM=+)]SIA:W8W.Z+/V.YU[:=5NJZ>5 MU4;GZ.6YS=PC.UY)RE4TIYPC;+SL<"["<-4&Y[C% MR?&]L2IR7= ,A:D$!49@GF$ M*,R2F$6!X QQH[H@I@+,C1&Z9O4^?TM7A=J<[OS"+M+:>)Q,MS7NT9]P/^,& M^"LV,&;H.=^Y:';_1EL6,W#Z]RJ&[5@2HHJ\DI:0_$R_XPV_K]:/%7[ZRE7D ME2J]]++]OJ[=%X=GFD0!X2*AF+,LCF"*F8 H20*(LRR#@J$4BR!-BI ;4:.U M*',C257.04[ 31UNB/=R@VHO., &V2HWZ(=KSYP^GVU7JX?7W_#=36[K?Q& MRWV:L+9.",6493D)(,]B=<\7I9!PG$*:%:@0E*" &R6!U.IU;FSYGO_@R_6S MJD"W%]^,&/7 UN- YQ!ZIKN#O+ 6&!PDWJ5,=%^TQ0@D1R2FU^>D?&4$PRDU MF;UL&]3V4/LD:@?W>[S5LL=Z7YX;<73$ TH^T_"V4VS&?5)7P^*;#"X$NVFC M9!'TUH/$%;%OIRU.' +7H]!Y)%S?@]?EFNYL[MZM-]L[L4LGVH3I=.[&J#]O M%B'&44X(AF$>Y! )'D""T@(F/ ](7J"8)4:7XBSEF!TQ'.0#5 EHEP7:=#3T M#(P),/;,,I?<3S>@"_J[0="M4RY;0N8XE[*I%&^2)-D2JK[LQ[;-V9?@7:_J MO5N=<&ESV*&A@X*73(LG7;UA MRL7+2@_G7NQYQXX=#H5H-P]K53IJ1DH?U.[SY+FGJ1\DX M^^WU;_5YT#Y9["W=EC^:.E*[Y50D821B0F$8IQPBPAC$61Y RC..!0FS-#3T M@O@0X[8_N+TE5^ +^"0]+L@[Y> MS#B? ^*(S+V(..DBX!/DT\7#:U]VB\Y'7%8J=R?_[757AO"UKKEQ^V>Y6="8 M1 5/Y)H1(B2WPC2$),H*&&1YF#$B%Q"]XD!:O=@>;;1#7#RY@.M7!PQ&O#?4U*4%IJGS*-WDL6-]F6RS9TI!,YLHN;T[W0 M-M#&W#A R@HNQ,H8)+8;1&R8 %R"Y=NXZL')84BA+AIV5]V&&I[NQIN&>D<7 MWW2>M[,+?N=X\U+5#7Y:/;]L'V0S]9HE LI)D&(8H8Q %(08DC",81!$@LM? M98(:50KIZVAN3-"1$]2" B6IE5'0BZV>/> ",<]T8 >6L44PAH0C8Z"WFTGM M@#%E3TV T>?-B.'G=W9T!O]"_L'I5FY7UJL?\/1//2=!.B_C#&AR$!TIZT!'?%\JL32319$9]$[2/1/@705U[ M%;!&KED6Y.LUU0=%'-1T;][>)/QOK>9N0;!OP'5PQ8HUJ5@^F?S3P2&(5)7B20%GD"49$4,$\$A4P$819'F5QL M_G=SW]H<-ZZ<_3V_ A]WJX3S\@+>\B%56MG>J.*U7+9RMM[:#U.X46(R(I4A M1VOGUP< R1G.A1R U*L.FMC46>V-441Q0X$2<(WF 2.C+>B'HQCUQ=@QCQ."2%.G.BL."/Z7MIR MU)54&MRF1H-9/+V_+KUQ\,WFUXLB),7(1#&GH0Q0[ M+HQ=BB#U0C_F\@9.K^JU?I=+LPE":E#68H/76F[I=3Q^NP6-Z/H7/9J@7[Y' MLP_EU/Z%0+&1�BRXN<#HK@5ORFEMLZH/I79O:!G>FN3$@&*@'RAE.>O2E\ M\=.&JWOZ&U ]<_!:RXZ?E)_7?M)9#E(NE,/K&R"LC+PTSAF0EGF]2TL0S18; MD&YP3I^SLOZ'ZAE7JEE>N]\;CM?9_XI=IW@R*P&3/3,Y49I?R(XHWU2R;#'- M-@(3:=,H+_]AY\;.;. &KNHT&YKMCLY,L>[EG.&;H]:0;[O/[;;]VD1G\H]5 MXKHN3C"!U"6RLGD00\(=!A.*PI0FL1L3+6[)BSTM<<4X-PWE\J%?9^DRP%K+ MA!W89E@=]H*"V[WA^FH7,J.%P YT,]G_\1":FMG+L Q;UX'WYS2JE]4XLJ4: M+XQFFWK=\&>QB>)VR\X57#ZGH\[:J-AG95K7U_B(4*_)**+E6I:.$,>-E MM?*=,.0\B6$2!RY$J>M"[!,B_NH0AT>!$[/ F)'J&HE,IL<\:9=U2 +MJM5Z M-[BCD,K +'+8T4D\5BMES&9UU9@.V_9W&*>)5X #30[3)F]4)J5P6856-^#V M:+@.-0/WET9K#(V6#8SM46U=)UBHCK=+8TMW.54!@'1#6=9)7:49JGXCT,=WW%# MQEQBMNK9 GN>)>WC#WGLJLDYK86HWIIC"Z6I;\4;D3I.\0VXJ[]%N:R !C_P MRSKU(M3/R 11"@-( H=%R8>09"Q&(4>\5W7,S+1/?TLS3KOQ02O0DXH MC^%J24V)1,[#JF<\+( UM=W8XR1%E,>6=Q=P&D' ,8B"-0Z-\[W,3(,QJ.HI MD\7PX]>QVPO'D32<^?[T&,?0IQA&/L((R#R(BPXFJ)EF9>CJ0'6(H_CO5^_"CIV:!9L9_8 M6NV8\#O*W(#CP:CUN6ENY\78R-UTMU*CG;(08#>"C 21V%]C MQR=&7+F&_2_-Q.[$E[/W['G96/9LRCH+FM!CCN&;&F;L'^>S#1FQQV595)OD-T_]>%T]-Y@N*:(QPC"!BA$+D MR,@J['/H,8(983SU/"->WN'NEF;,&N',[-0%1/7,DCV<)K9"2E 93K,7%32R M3E!140\62\;F0F>SVA8]Q8]-B>9;8Z\8N#RC:4XHA9%ZJ)[YIG;.[K:;C8QD MB ,<(>[Z,& .@RA!%";R/S1D"0V]. X]([XDC3Z79D,:D=55@Y"Y5)%KA10; MT%KB>AMJ?.MP&7W=HW*KF$YL;UHXVX-QB:82>+=_;&2V>4ZN#9"UX_++/GAN?ZK(UE-E&-I!DM\C:$AS^O( ="S3S/ .K'-JC6 2H63 MPM,WRI2I2^BN.C= :@*4*A999*_#TA:_[$@IYF6>O0ZJ$T[:*YN[LKK;G\7F MO^]SX0A27I8KQPG+Z;I1DV*1S, M[B7/]OFE;B,R:A4SX%F M9TOUO*Q:-]53X^F1T3#K=?&WS+JF,'")!Q$B/L0>XS!, M*8H#$C/FQ*M7OLD*]KW"FTIO$=/KW.3S/Q9ARH/*M6(\PQ7XC3]E>2ZG0Y'* M5$4A@6'LC-X@(.2XJ>NXD,6!)ZFP8XAYG,*(1#3 3D)BSV\&X6/.WG<(6@%F M&8"/\GQG4NCU? [[8$YLSL\&0^ZT4/&ZG=!(BX%.1D#9BGO2ZW3>,"@C($ZB MHLS>-D_D_"J=]NV&W]71\M_YDUSIFVL5C[O((;)L)*)B2^.&%,9Q%$'7C9@; MI0E-B:.;QSG4T=(V-:VLH!%6/P=Q$,YA$V,3I.G/BP_P 8V@ER^GS #3S]FT M!=Q,*9MV,C)UE!Y(R!Q\?;9\3!TENNF86L^;V\'O])FS;4VL='B2]/$'76^E M3_Y[4;"_L_7Z4:48J?_P']5O0I'_7C$2\2"($$PH=R'"GO@).3ZD/ T]WZ64 M)EH!2]>+LC1;^GW[\H(W/U467U'A] M@YTRH-4&*$W 7_4?4B.@5#*PY-?.(&U;/]\@S97 _RR)5 [5@\Y8S) M]D-7WV<#OANZIT9'2RPJ=E =6&ZN[&"V![:[0M*KIMXOO=%,2)@XC,$B06,>(FT*&(46V+4 M^]*6+E6Q5\9"J!\Z\M_((XE6!:!T&!V!:S8^>J<4DZ$^\:IE&W#SC/\QP-G* M[S?J>]YL_C&PG.3NCVID9+[!SN(V^X-O_%7>!TLJ@+38O*@%_;>?S2\?ZP-P M$C&*'0]BAP00(:>F?2OW[E M+O/_#;P[-D56[/7ORW++V8?M1ICZ^JZ[KO2J_OL;+CGKY82$D5F:K+$,2[//,RJ: M;NFT6$_MEM8%B&OY;T#]U^9/J 1OR4>[ 61B&Y^*CP!\*C8ISRHQ>6SFT([& MTUH>K;D$,^?2CH;H-)]V?%-F]I'Q;/51$8U_XT^9-+5Y]45\F2L_2:C'8A_Z MD;!["*<'E]O\P]>/1?,>+[WO+ZTR7Y0 M?;.6U: @;@]$E^>U!70FGM1G@)E@"E_ X:J:I,=MSEZ5M$>IS&$#EI"@D-$\A2A(CG M!A@QSXR>^7JA3&;'3"3.:9IE::WDVLHZ_ MBQ7Q@SAAS(.(QH&DZG!@C$,78D+=) JQRY'1Z?$H*9;FU(G//)BY)^8UR@^@ ;C2WF2%BFWE?V(F*U^O0Y[% M/"/^P;[QW.^ML>O+M"RQ[1=C)'Y2C 8UO73'V;E[EC_>Y_68/:0]KWS.,,G6 M6?737?DI"Q./!C"AGF1-C1-(W$#L*&6Q.S=V64C\*SGXIY![:1:E5D#5_<79 M!KRI,&JQB1&F-X?%M@+K5O2KZ?LG^0ST?*8%#N[$=O%\*8"]!N! A8/]J7AL M]U$T-0(4\?7Y5V_ YXM?B(V: 5..UW25!2:1^KWK#TPY%!I5"B;M?MRB]T>6 M%QO1SJY@)R>,L\CET$L1AO4.=TCY,+)FZD^9GM4E]RAT;C][GS,.-/C2ANU];GB-5 M8@@'/ A8[$$GB@*(7$0@CKP8,I^&H9,@DKA:^4&]/2QMGK="-JQ+BH-IL%R0 M)I##$]T*/!//=&-DC,*.!K4?%7=TOL79 H\&%>I&'@T_:'XDI':YM-KB]?JG MK"KWS_(+K^I*'\9!"3IM+6T&'QZ1-,+7Q0W?RG^HXMJU!OHG25J07CYALHWF MQ!->&\@)XAQ,H!IU3*75P6S'5R;J=H^UC-XS-R5U<-0M*UYW-06Z\UOG\7&';=_X:QTM4SZDGXO\288J?^"D M6I&0XYC[#HR#T($H80C&,0]@XN%$I@$YB1>L;F8]J;ND[/&)W<7G1P?#2<+DSQR+Z=<>^LLS MV*: 6TCV(RV<2M3._>@-V(MK-8Y- M!Q=[$6N#O%I.B)Z]FA"G">V3[O8D([H-Q)CH*3O,HB9L/^.CO(P1-!RM(9N[^\2=6$( M35_TA&DS8^D8[H3YW.#U?<[XC__@/U?4$Z8M]3SH4.Q!%'H)3%+7AXY+8\>+ M?&'=M(+T>GM8FO5JJ <:*8$2$P@Y32D9CH&\?#]Z-3P3&QUC9$;0,O1H?P4O MPW&+,Q,S]"ATRLS0]^#(\F"=6/R'M':7LOSIKBBK\C9GDN=*59M9Q6'B>9X? MPR (,$0HC2$A'H=,J(M8PMW4+ A7M^.E3?L//.7"=V0@;44&5,@,<$S$!J,KLO0&Y3& .L55>RLEN>*%WLENL5"5(5JV2E7I=CMOL2I# M,$[*59F^/Y(KKY\5]?.N'BV5!80-:>V,X#(%I>=3I?SDM<9@'#"5F?R M[LB3(%QFY4,JJU/QAO15&+SOV5.>I1G%>=54[9-4><4ZHQDO.[5O& H2)Z20 M$QE:ZD<88@^E, TB))PMGL1^8L:8<8TX)K-M'JX,H<8KWNR\ Q7BF[V 9GT1 M.XSO0L6F1+%T$QZJ9[ZIIZ'AZ=$UHZAYE#33R$Q]KB354"59.XHH\#NJ@+TN MH%7&\E6\35AM'39=(\J\)T\60#LYAK+1YC@;_$%8A3-CR7+=KF_6N&)UY^ MV#KMUN\;8516:>BYA/JAC$\4^[J(IC".G0@&$0G]B)(@3*@EABW5X=(LA!)* M'=]:H]2J@=5S'VS"-;%M&"3**F^ DG<6/JP#9*:GOJJ[6PK+U8'R!H16A^^- M9EZ5N4KX1\.(]1O/>9I5JQ@SZC 60T0B)(R(@V$BMBLP8=1- DSCD)O3J9[K M:7GG/DU.785_ %Z+:DR(>A92/?-A ::)K4:#CZRIU<@(?FFD[*>.'<,\.H2# M/3K1L[W,S1$ZI.H9XL_!Q\UK\2DJ45SR#[S^\SX_7WZJ#67,>+ER* Z2$#$8 M"V, $?:IS(+P(?52)PX92GCBZ);E&]'_TIR.KVU<_^MV(R^0%5F<-"&;?=DY M;%YV;LS(#-N9&?">WOXHJ<$OK?R_"N<%]-7X QTMI@5>O_3?Q ,P4Q7 *0;" MJ'K@%3 .%!(PFJ1]X+$S:0W,]!]10@A&G MYQ.O,4HT4*2I8:"7(?)Z?NH4:,X4]M5(V3%2-V"G#DB+#;C;<)8)@R7V5S= MZ3"$NGGTUSCL; 6!&?8^;RS8.&A.0L)&-F.-D59T4CSEV?^*73L3=C1+,[PG MHI:Q\N(+N\U9Q[Z*WXE%F]W5*4+UDWM1A4'$S$\(=6""4Q>B.$@@CMP AA@E M;NH$<1@9$?[-(?32O/2.:%>3S=H?83W#N[1QF]A:GZ>9W6L,NBHW)Y>@55J% MAG34!HW>-Z#1?'?4J?-EV""9G6RHIF.8M2_R>]/+3C8(&MRRT_4]\CH)9YM_ MRA",?6WQ3G19'$1!XD0I##B.Q*+C48B1$\/81TGD\!3C)#6Z2QKJ;6FKA106 M*&G!'V*3M-U>R0=M4\N MD;1>&F= ON[H- XS+U8L39&#/0)]ES&( N&U8I>[,'"CT*$N\]/0&1'VUM?? M0J/=OG8(7]CY)"Y#B](+N)XQN0J_F4BU.ICMA*P3LNS9CTLX6#(=O=W,:C4N M*7ML,"X^/\Y6?-F^$+YY2!]>%3]^_M3D2)2KP$T\3*,8,9>I?K$,_0,F^V-Y&+(WC*VQ6LPB,H(0MLC!*[@LFU;FIG&]DB!4P;;XP=& MIJED)7YZVO"G)DWZ&W_C^98K\IW]?C3UD.NQ@,&0EW:Q/U.GSF3(=-BF6D$+D%'$^' DY_@3OSP5&Q,DU2TAD%OP;8. M[L2FX5#>#KJ35?$\.3 (WA&'D1R&)&0T<(P.EU>O2#%3+ M4:(VR+2N'E]*10SY%+00U[-%UG&6O*;@9JB9NZ.C?U":9,FON[?L#B MSL(()ENL"EI]SDNK8 +#":^"T@X$DJ!)>4NCK5:X?Z&-IAD:(V<;"M(+JAU#VX3AL4"RA,_4N MYQ08\%"7IAU(:@&IF8)%33XEHR#0"Q ,!'KVO3E;,.<%T;L!FY<> M'>=SU<4C;TE9;3"M5BP) N[0"+J,(+'[HRXDB2=\K3A-72]V$,%:,?WGFU^: M<:NE W^U\AFR41UAI^9TO.S5'CLWHQYQ4[=E=ZGAJ; MKB6HCJ36I;.$T\Q7=B=H(S)HK-T$'$6@;?0%BPJOP:8Y!C8M:&0^!'HF9V)@ M)[9$[;&OG$.@E1_\+10 K08W8*<#:)60F64VJR2-AM!: 25S"6:NK30:HM.R M2^.;LE&"^:[XSM><5IPUH9P62C'WM[DT(W:ADK#\-9;RS9:"C=RSG?%G]X;+.&N^/<]-D#;JJJ4'W*)JX M_9&5*R)#57D40L_#6.SD> B3. E@G*0H=9( D\CHENM<)TNS49]WE2.EE#= MR@G^DI(:'LR<153/K;H6IXGMRV'!2#V(C/VB(0PL.3YGNYC5LQE2\MAU&7S6 MO([1[0O/F3QP5R2#ODN9$^$8AA[A$(6^F.38CZ#8;@61$_F.S[3K%QVTO+3I MO1,.2.GTJQ4=PC4\C:\"8>*YJZF_44VBL[J.JD5TV-)L-8C.*M"M/73^ >O$ MB5]XM3O(=[#C>PF)(/$B,2,I83".$@HCYH5IPBD*F%&U1+UNES9=+U$#"M%' MWYQH#H3>DFT?WHD-@25D;;(OG@%J>@[&;J=+86(\ X0!'^.YMT>S,A[1\[3U MOW;D;[Q<<8)YXG$&W5 2-7HX@;'K)#!-(B8O>\+$2^#;*'X?H1JF220;U#=$S[:#(4S0LD>W:-&GW.3/^K#<(8* MTN#E<;;H#I?/MSF3?\BK[#>\EID^M]4=WFQ^9OF3BKM;.(RX34AUZ_E-K-%>HCKV2+K.$Y]A-I" MJ'[HB'P#< 5:J>L077NVR @E2[9(K\]9;9$1#,>VR.SEZ[@&'HN&*J4E6.'2 M^7I(E0P-B-!CGT7HE1NZ6(609;05/A--$PC<@7_@(X,(URE.3@) M.L6Z908!!J11X0;D8O\GK M[9\8 &7^;B]A/9KTP 0TRT0(6EV_"SF""2A]A E&;8S=' I?AI>5O)B25:V2 M,'5#L=N#E*0,(H?+G$V/0\+:%T3Y34/W72X$VYIE;U98F2^ ).U+=QA MZS-OULZJ=KHM.__8R U8\?*ZX<\\+[,W7N_KE$D1FSOQMWJ@O\H2LT5^6U6; MC&PKE9=9?!%*R5B;8KU6Y6=KH58!XKX345_X1=B!" 4$QGY$8(*3A'@1\9)0 MV L9]J:Y5;,KGY&]V4DY;5#'3KWFA,EP/V=Y #5W?N\W+%/O$0]&I#F=J@L? M[OPGH:6DG6CM8*,HZ&HJ/;!#77[#10>]Q-K0/X)1._5\+WUS&Z?E#TK/=44$]L MFNNT^H[<"N!&\N,\^UIZR\GUAIC9S+'7[7K^5'M#4,YFW)NV,=+9/4AR_5"\ MX"Q?)3CV$.)BA^M3#Z(D]2%)G0!2STU<%C..W,3H'OK.J-J^_*"-T_"8]D(,0TYR'1!US,44T YL?&0(H.]S#= M20UJL8%P$UO!P;N8;>RED M9YM;FLVYD-:D=+"1,G8>VV$C-!&L,YQ@Z2(Z2W;8(&"6$L/.]_&..6@^G M@PV_.CX3[+'-,Q%_KIS030(2Q=#Q$@91BD(8,X_*O'P_%O^GS"RFZKB#I=D9 M*9-YJMRS5 3&P93E*\AC 9E=MU3G&+>5T'S<^>TW5.N7/Y7&>?,Z<* M_"9YT]8RW.E5^B -?5L28(^'.(14 110L6N!8M=BQ='7D P8JD;ZA(%GNUA M:1.W%E*%";V:U;<^#^#P++8"R\33N$%D)^ (!5@'1/!*]KR/R@X>[N/_.L^O=B+1ZO#Q\?GW%^)[K9 MEOQS2%5D;^0+U]R-$71X0&CB>G'D>+H'#UH]+LW.W=T!*35H MQ :%.DBOA."@EES%A/Y#?Q.NA_OE\PKK:$Y]07$$9'TC\;@'4N(XXE!##T_] M0P[KN,YTZ''WYX4/50]?HR,1(ZP&CDCTVIGMR,1(K>X1BMF+XXY45+,R]#2K MY%>UH@'%+DE2B%'BB4UXC"'Q.!<@8X;"-'!8F*S$BD(*W4.3HQY,OO5N/Q/> MZB@"Y<=OMV"=&7F7?1CJ;8VOP&5BVUK;TKUH]C:U/3I;VK0>MS[KIK1'M>-- M9]]CUV5:UE'_PLGC>0Q8H@E04PB5P. MW3!D,?-1[,2^F1VU#?L\QG5VX/6,KVTP)[;(.Q3;7+*/.Q2[0JOD,OMYLCH@ M64Z>'>SR73)J=4#H2[/5>G>2(AK[ RV$W-1W0N$N"X,/$4D)3.0]2TI=[K*( MQREG9@9)M^OE&:5&DS!FJ?^Q3N5\3$%P[#2 MA:UHP9[KE?I>I:Z.*D.BZ2KP"8]\AT'L!2E$893 .$ 4NC1%-'4X(TB+8=JT MXZ7YJ+T7OJ?WC0 "(E6P?MU[.CI7W?->A?F[7_#6Y%W3RF]U>K*:]TCWM M=@EWN;U@:%[B]K\_)L?BJ++&[4NEGU!Q^N[2[$YOU9?;EV*K&RO9"]3EB]1K M,9KZIF$D/(8)#_T8C,QN.-/@C*D,_>H@Q0[+G9B[H6Q$1798&]+F^A[854F#[S/6_HM M,]]A&&(]A\$:AR*4<>F'H0>02!.,8(TC#F$5AXF)B9E3,NE^: ME?F8IL*B*XK0Y@YYPQE_>96#55Y)8:,_)GI6:#JD)S9+-8U-+?EYUIH;L)=? M#H;2P#*5C3%R-LEL]#N?G\[&&)BSA#;FK8PS=__DSQE=\[+-#DOB():G,"[S M"$0> M9TMVX*CQ6>?Y><6.YW'/4R.W-JJ(S\H)6.H&40@=UXL@(IX'B63.(QC3V$L# MGZ7,)$^F;M9H7LZ0_E)'Y6 EF^'VI(9)N> ME$G_:&\0G!@P[,="NJHUST;4>5=SYL:;;RSF<5Z)9W/O^ >7K<=TZ%X\ >1&NYO+#^E.4X MIUG^) D FT.$.(@]1F*Q\D21C- +&4QH0B%RJ>=[B^V;@ \F7#:P&X MF2LE"DG!.?BL@:9O9NV!-Y.%?7SF=0W/8ENEZ^+O.KK\M856E?H\0;8_0=[( M[NJ!-6!R+S0PF[754Z1K:#7?&&%CM]6#NNO_W";3-JY"RB//]1,')E[@0A0D M 4RX[\(()R'V78Z0IW6M.-3)TGQ:(2>'4N.C?/R2U'Q M\G&#&;_-F4KU_L8IS]XDU7^YOT#8YXH)KY*G-(QA[!)A%".*8"Q\4.BY"-.0 MF/<6.F= M6T\^ A.;926_3"NNY#V7TD&!7Y-"=-3H7(A-E/5W%936&,/'R# SK?@5,)UR MCU_3V#C3^0EGFW_B]98W20#*,?TF3P)DY%NSG/N8)#QQ8D@#ZLC(?>%(4L(@ M3KV41MAG4604E:;3Z=(,HY09**%OP$Y4,].GA;6>I;.-X,2&[2QX$T2\F8?(OPM"F+F"<9[/' M]H=XO-&>&'?;!G\J<=]GL9@8_-Z%9NI^QRU2[1&MI"1_RQC/6;GR&$(N]1U( M7!I!Q' "8\Q]&,2>A[$;!2$U*C1\IH^E+04[P< KSOH)]K4AU#/$5P(SU\U3 MD8*=?/:LX8#RE@S8N1YFM3D#*AZ;B:%'S>/,A07YPHLV<4@SL/S@I:5-4"$< M_/+Q0?,,[A2#X0EYE?H33\-6G 20QMR!"',."6&^6#0=PCSNNT&B13BOT]G2 MYF575IG-\-I(:[:$#L*KMY;: FWBV7R,5ROH!&=$.HA86FD'NYIUR=51^GCM MU7K'/$CAMVTIG/2RO"M>2%:7Q9"5,I[R['\YNQ=+?)6EJCYWLS.@_[/-Q%[@ M<(<@?K=]$?]X\,A]3M=;2='V>U&PO[/U>H6C@!%973-*A;>.$LFM'@<1I %+ MB4N$"\^03KKFS'(;6;.9\T$!;J36#Q.8<\2'K>*"QW%B ]MJ#3IJJ[/X1G'0 MU1S4>H%6,74BU-$>-.K?G#RX@P"T&"SS,]$/4%GHYS)3S,OR/ANCP)IW&+R! M6)TYI9DM_.<=(.Y&%+U']^8^SW_PGQ]?7M?%3]XF;U"$?4I1#+&LD8M81"!V MQ!92_%-*B>L$+M4J#'&V]:7MAH2 H)50?STX!>WRXGX5%!,OP5T41@1;GL*A MOXA=!W:N_Z'1F;C;TF9L0QO?G[':_Z0 M*O*K_=TNS6[*"NFE!J@N MZIW:V(-I8INV%_0&2%$5@[?BQYOFKE@/&%OY^,.=S9N3KZ7X25Z^WELCR]>U ME52:XBHR\L9%?L)BR$C*(8K5B:]/81@3%#I^2GUB5$7^I(=E'HS0HFRB)IH" M2X;'O*= ZEF)J^"9V##L9 ,?+V%B7LFN3V];M>Q.VI^WFEV?>B?U['H?'.D+ M\"?IYWWCK\5&-GLN$#\*>.ASA&'@N E$H>? F*0)C%W,HL"-B>\;%0S1Z'-I M7D$C,MC);.@@:*"LZ278Q6YJ5^$8MNF3& P LN4R:/0XK]^@#\&)\V#PZLCK M8UP^R_]+/_M-."@JUKBL-IFL2B!_<9NSPW_H/%FS\M[G=,-QR3_P^L_=J]_/0O%!?[*!/?44O5+D!\K^@ MHY&\#&B5!?4C%H@?KWIW 2T8-04.C4<%J, WF48;<45 MS"O\O)$*[S(P)[$/[R/%N&546&(IP==-(4,DV6\__[.4UQ<[_IY;6F5O]45' MRZ;G(1PEL>- EP04(H)\2&+7%RMC@!F):>B'J5E%4G,A3&S;/+5)E:F21"AE MS822[OBF\$YZLR5LQ-#H+4/3PCWQ4B)=!X5U*SX@/\$O4@/A/?S:H?G::V&5 M/_%Z$"T9\A$"S&J,QP-T;%"O:&GL889B,_O 2=5R)Q!223GS_LT9@@K+17 M=6LG"\?MSWR.T*/>Z:E!WX.C\C6^\N(++XPS-KJO+6U:RLR%KQ\?P)>/#T9I M&P=0#,_'*U&8>OG? V _>^."05 MA_*^^6=Y/+%C9+O;;C:B@Q6+*/>PXT#B!#%$-/1A(F8]1++.E>O3@&(C=WFH MLZ69@496L%;GDP599T\J^JV\ ;26&*A+D2(W9+H8 ES//-B"<6(KT2*HY+S9 M$R;>@$96B_P1&HC8XGX8ZFI>W@8-I4\X%W3>&5&]B_W78R$-DZHPHUNNJ_O2 MTJ:_$&Y;5NJVNBK42L?S4AF ?S4HVW4 RV5_?30B$\_D?C"L5=KI57]\P/!,O*UW9P!_->#1*=4C) M&[7 +T*Q7T&M6A.%<#@AOPX1%!G[E);QMN1^VI)J5D_5,I3'3JWMYL>MQV?2 M$"5]0L94A&Z1/VYP7J9X9] M M&7>;DLUJX"> M]-C(3]'%J.O(WX4T#3OE!U[23?9:\T^V@?OZ-Y076EJ:I95W=K_?WGYM^6)! M1VBC6\Q+"&I=;%H$;X:[SC[<+&<]F&$S]D[T4O-S7I-JJGITT6<)8_,/N\2?S%F ?82"D-50R&-74AHXD&?I5Z$,8]Q3,PB+GMZ,OGXYPFK M_%SD3U 8J9<1D4A]<&INFZ^':.IML(Q&VHLX4=KT!1QL;4][>IEWNSFLZLGV M\<+CXXS GUP64!5^AYA@^(E_VE*EOY M 01$J@!^R?+FU[^:61>S<=*S.9.A/[$EV@'?" YJR16C0PU]1_@;H,2W9Z%& MH6;);IGU/:LU&P7+L8T;UXB9Y6,\6WW,J_V%\BYM]'N%JVVY(K'CD<1-('&H M+/ <$A,6AE3'R%WJ:&GVK):UC7KH9#_7XNK9JXOH#ILFFYA- M;(7&PJ5M<'2Q&-@?B29JLR)^V%N3BPW/8CATU6MMA/;S5W+$W.>T>.&R8.3* M$1LAYL@ZQ,01E@#+.V>:!!"YLQQ.S[,#(",^1*[]E0,B7C2'Z8 M#HAI&+N.9%-/6"1\1H$B)"%+81JZ8FOI18PZ1M%YUX(X@R6MR78*ZU#JN757 M C2QV=Q_8+5XX!AW?G5,5>YITSCXXSE-_X&\^W MG310A((8^4$,O23T(!+ZP)CS!-+826(OC)$7&&T*CSM8VNQNY3.;SR>PZ4WF M:\"8>":WHDV2\-JGMZ4I?-+\K/.W3[GCR=O[G-G,+3>5*I%0K#,FP\^4%Y7Q MLDGV8!REOA<2&#I.*.:OQV'B!@'T Q>GC)'0U9N_P]TL;19W)06MJ(9)-!> M'9[A]N":>)Z/1$I[RNL!,33Q10N=22_^MI_P%QJ?9=KK*=A.?LVGS2^%O[Z] M/JJ@#\VKW_;YI"LE-T]:;%Y4[L:>\$O_AG<'Q_ T'8O$Q)-R$ 3P MEQ+7TDWML?:C[F-WC1W(YD;*C%!Y6U,&_71$-&5*I$B10X. M2.!!/T1(;'RC0);T(3!.W"A-8I\&6.L<4:NWI4W25K9+F1P=Y:?/FGN37\2\A8YER5\WOCFYX=[;8!G7,!]"[;(7L M #>QK='%S.ZYQ&5HQB7E]S<[7X;^1=4.TO4O/SV2]7Y;5L4+WWSCZYI4YCE[ M;8MZHYB%(?OW[N=_,-.+=BK!VN@9NSXMF>K+7NU^MT:M-80\>C-.4^C]/D:?.[?'*V)>V[AY32LHJV2A3 M&DG5-7UN8+%X2)B& #4 *J5^^O$ =Q(DL<3//Z@:LRHE15((7[[P<(_PY9__ M^[?/LY^^XG(U7)_]_'?V)":UV" 5=8!.65@2AL!NM<,-++%%S=O<3G[\V+Y\6?!F/SY_+?_=/;KWV[]_A]R M\]O<>__SYJ<7O[J:;OM%^EC^\__Z[?7[] D_!YC.5^LP3W6!U?2?5IMOOEZD ML-Y(_4&Z?KKS-^K?X/S7H'X+N #)__QME?_TK__MIY].Q;%Y^66/[E3W]\RE"5RKQD=<7_]_3?_7RY\)4(G!>5O,V)Y7B=YTKTBJC>Z&&%Z<\?%U]_I@_^N0JB?K&1R$8:MY8[ MET0R8*PH&20H*(KX$24(+4S/%J12DA'T7UMN>MT M7]7ILV7Z:;',N"3;<;Y>6*9K^KV-VK/?^/E+6-('0?HTG>7S?UV6B\\MM+5> MM)#=J6:(WC_]1&P77"XQOSY5S)W<;5A;DTG%S6\>JO23%7P,X(YL& ]8LI9BG(/"$I8Q0W5 M9RN=(@%GZ]7Y=RXA\2 QXT'D".4NAI!T!Y"Y2O^+Q>)R MDCEM(LH&!4!F4-<8 4Q,E<-/KD68FMSY[;5(P#DX$YZ!!D5+0CN$IDVYBO?IA$75 *@TU0<&/A<<^, M 0!QC& [P<9;7$X7^>4\OR#I3+A/F"R!VRE9JIET$&.14%C*#',6IO@FR+BV M[$ZXD$\(%X<+M1-4?%B&^6I:-7"&[& *BV3Z@'-//!@IP+,

BH')?%%!1M M#HX;*^^$#?6$L'&4:$>&Q\:G^O[K=(:_GVR\9"S!"NLB,*L4J$*>=RS<@_7: MA&!,TDD=!8N;*^X$!_T$X'"4*+N P3O\.*TWQ//U[^$S3FQ@PJ(J0(O56V(9 MP&-1P"2/&@// DT#*%Q?=2+T[FZ^7W MYXN,$Y^D4$%F4&(3B-D"H40-]0C4@O"?Q'W76[LBY%XB=@*,?3* :2?P+O#S M(7Q[E4D\TS(]?:4]LXU!*/*? P>,!HF;ZE>';.F(-+EXSE70+6S+'*&)B\C; MX>-RX=WNPMA3@\>!DNT)'!O1O%F^72Z^3N<))RRX5!P)0I<<0#E!<"_%0HY> M%!D59U&V0\B-U7>#R5.X,VTFXYZP\G:Q6H?9_S_]LG&O A8K=*KFL! 7P1J@ M,Y1#$IE"=Q:4]"V"WVUK[X:3IW"5VDB^(Z.DVL%G2PP;NDW,OO#BR>.N+Y$L MD% T,DB&^>",RZ7?EK,SV]R5)3& MR&((J#81[2I3V)4,,$LGHRLL<''?^_S#^K^YXFX8> J7I$?)T2F7)#@F.) ,3 K,2YV.\R1NKK@;#I["[>A1LAP9 M!Q^6H>;QO__^.2YFDV(R,N0,.*\7,<$%"+K>YF4ID%N*F((^"@37EML- 4_A M0O1P*79B!EY^2Y_"_"-N;G(EMUESP4 :;X",&M'OO:C%%RAYH=!)'(>";:ON M!H:G<-EYM$R[""*>GRRKW$Z?_2JV24 GJXDN/@>N%&A$%M)Y^Q1=A'<[8FI0D>$I,0%2&@_): M@J^9!5GR'"3+Q5O6 "O;5]\-*T_GBK.!C+O 2GU$7CXGX7Q<++]/DE*A,,:! M490,2CL&(6<%118,:I>N+[I;8]71N-P^7:!> >/\YS&:_G*Q(&JO5 M!"4:XCH0O36_1) \@K0!A.&H(M-&L!;75-<6W0T03^<>\W")=@&(EY]Q^9%. MP[\L%W^L/SU??/X2YM\G7B4OQ7<# MR-.YP#Q>PET Y?TGG,W.J>=96\Z+ &4EH#+D& M8D9[8S6/ 5N\D]U'PVYH>0KWGHWEW0=Z2#++,'LUS_CM?^#WB679X@ M3R%5(-OH(:58+_DI1'=22N#9*)F5%T(=AXR[5MX-'$_ANK2);#LI/KADXE?Z MSFIB2W""T;D9/4I0V9%,BJ=STQ>N/)=)E^,"F#L6W@T=3^'^M(5DNP+':8'- M&1-!**-< $G^-"&<.7*RG2:8BT)6D->DM8;PN++T;@!Y"I>G;:0[,D2>$0=Y MP\4L?)S8F,C;UAR8-?7*UU*0;LGO]BER(71.BA]WJ%Q;;C/G[^YO'LP\L7OSQ[_>SWYR_?__7E MRP_OK_.P6]>MAS^T54NN/IF0:%J>U:Q?-H03YGUEJ M1P:A-G'13-6<8 \">0C>$F+4?17E1W49N(>N9OT43ML',(LI<<7)"FI/7.8( M%'0Q.C=9=%E:G>Q][[='<3EB+[#!D'!GBX7]Q=U3\XU;+8XDF4_CA"#O6PM0 MI9#W+39/!PRU\V@B:]W1I[->82TTO'/#L'W$W0%NMG2Q*<'[1A6".8'"+D#F"R)6+T:)DDD ,%B)%B/93UM;) 1#JDC?2B ML/L2T9YRP[ AO93#!-P!1)ZM5KA>7?CWEAMG43CP E.M)A<06*I_YW2X8$)ESAF9.Q!.%%")@C^7$_EG%K,C297[ M2RA]6G9_-<__/R/T^F7\.,F%D]6S\/R^7W MZ?SCOX79"4Z"MES1/@+$^JCM,AV?BBNPCJ? 72J!M;Y'VHFP'K!T% !N>B[- MM=$!Q)ZE5-N>K-YA0F*)CN[?<7V>SYN-]\JX EP$.L23MQ EI]"1_BPR,"OO MS:\_R"K=0\^X#DY[0#63?0C7_2E0OEM__LERL5A/ML_7**Y"\-NXKCCR_ MQ#+XPK,,.EJG6M_Z7J=@W,:([;%RA'P[0,?;)7X)T_SRVQ> MDQ(!7FITQ@%3EEQ"%"0=5BSAGW$2C59*W)>K< AD=B!KW":*[7'46A,=@.LZ M\3X1^XP"3Q85.8UT%(/WW() Y0/7-F=_7VKVT9[TN&T6!SBD#I;NX=!8K,.L M(31^7\S3#8GD6,JF^%$'1Z=KH:^<2!P$KRE?REOC[VMF=#A*;M/2@U?3,.0Z M4M@=V).WR\477*Z_OYT%8F*>J[/_I5Y?T->G;[CX&L,*W]49<6_*W\B,5LZ? M%2*!7+J3SR>S.FCN!1(#:7JJR7E^]KF65?[7YJ\3DP)M.NGJ("B2B*T-XRSJ M6J-=/-=1ZMSZK6IXKGJ(]XY%WZW3LBLH=+ YWI \0BT/WL;W!$UQ(10!3EI+ MGD.HHQ%=HEA8*AN*21CO*[(]!-?W$M2#;6T,R78*Z !-KT@;\X]3BGS/9(7K ME]_2[*26;?QELS2?@$7R=%*"+KAQ9[F7KV_-=Z.HA MPFR,K>;JZ !B%W0G9G7FP8#7F&OG/ G.4]R,GAP>SX4PHO45^UY0&3B(; R5 M@\3: 1Q>G"U;VS]_Q@_AVP72)R*BL$E;2"$J.HD#@R DAC&P,F4:B[P!$5^Y,+F4TD2GE$G0!+-4P(@DH:(X@I3',BJQ=<_QL)63< MSO[#.#U'"[P#U)S23RX:N?=:D8L6K#I](/*2["='&0UZI[!Y2M'IRCTX+ TO M&O829 =W4:^G(4YGF\%Z% -NTJD^+68D]%6-*M??+T23BHF62P1#[($2ID 4 MZ(".6>3<>^Y%:W]W5]HZ23%ZW22/9!"%=&!GKO!U\R+8J^!JNWE +7V=P*?K MI!P%,G F8HE%N]:VYVYJQKTO&D;[=T/L&%5T *KSM^JWX7M]J+YX#\A,L'IQ MY74="5Q"@JB8 (P^&FYLL-AZHOMV2KH!TU%ZOB-!X BA]P&=Y0FM>DM&DU!" M-LIS<%G0U@ITEGMG!&3%BQ8JY*Q;/_G>2\GO>SG$1,A3/R$ 6KT^%JI;[/Q4 D^RV, M5-F7UF'9X=2.ZZ,/A,)'4MZ(,/WC4YY\"-\N$[F>?5SBF:MZ@R-?G&?>* I3 M:,^I7&@+UG1!:ZT2VF29^(W\A%OET[NO-N[%8V,X#23D#JS;U:?$6[RPE$G[ M6H(HN8#R2E+ ZPMX;YB++H? 6KM8]]$S[L7D0!:JF0(Z -/U!\);W!CO1;&N0A94<60JM;Q?NIVC M WT#M.%=0HEQN;]U^XF9UP<-<* 5D+2TPILG[R]9@;-\/]:A,I\>YN*<5-(!L+2D<+NX+;H MM^E\L3R?%HZK]439C+S>593":NA 041@P4,*5A6>LT+;.L*_2<.X*2,#0>4H M07=I5\A6GK8=>%M;I9!RUNOE-)ZLZX/AAT6]:%_,UT0%?>+'"ZY944Y[+B'4 MI@0JBMI'W!0ZV$M1PE+,*EL[6&THWPF4 PY#>R3[-;A2.[!Y#[T@3(I,:+7P MP(K?W.-ELN%)@E!11U-T0#%@^M-6FL9VQ1ZUJG,O!30#U ASV=YNI/\)U],4 M9M<9:C2D[?H*CS:Q[1[&'G-\6\G!*",%8/"!#!/]X:QQ$$S4/ L7N&O]WC7" M^+:BI/#6*N"BMB?3GAA$U& 59N%-YFX __Z)C6_;!PD/C&_;1]Q=.&YW#9P* MJ*.J.N!7HKR:@8W1F9]LZT^EIC&_;2\,[CV_;1]P=X&;+3"$OM94F M&D!3F[DD.>G M"5][O]B:-\,R4'!+,4M(B7G;&BW]CV_;2Z\/CV_;1\A]P>1\LAAGR7.A-#C. M!7$0(T3F.9";&[.*1D8]S%MOU^/;&L'D$"%W ),M\:91+DG' Q0AJP/'2""& M"4C&%9>#MDZV3GGL?'Q;$R_E, %W )%GL]GBCYH^_NMB^6)Q$M?E9'9[6,M% M?;!V7 FA@"GNZ[@$"=ZC 2ZMBC8KJ6]6]!__UK8/@9TX-0>BX>8+VV"JZ0!W MU].MWH;EF^5&?'F34/,6E^\_D&":MT$E@T=1^K[0G M8K ,>,JRB%R\9JV/Q;NI&3O-:7 0'2#T;@'TYF2]6H=Y?2FRUI#Z5#Q=X&G*UG(=Q[9Y/H1X12K6JR; MQ)!_&!E:*%PKF10/Q@YS>72\\S1@$E-37+560V_8NG5RVUARDB9"[6U D08W M=&BG!,D)X@=EP=C:;;J'G+&SG(;"TE%B[Q-#9P>WS=H+*S)P50PH3Y%JX'2. M:Q,P>ZUY"4-43VXA9>QDI&&QO^!_OSMY>\?WK_Y]=7OS]_\]K)5 M%M&63QXR>^@A1AIE#9WF]U_ [R(]1"#ZPA+Y.24H4(E[\,H&T,4+G:+2P;5^ MV;Z#E,:Y059JU")E*,[6+JNT!3QM!*"#MW:\L!ACZU3&GG*#6NC[@72@?20\ MXOWU:KFNHS+S25J3JX_+K].$IWD+HJCHD(/FM0^B8$0_&5WP:&)6(1OD.T5: MM, 5=-#?+I%QU]J=O'H'DF*5B=RI0VPT9MPD8!QYM='H;($<*N(NGKPTC9RD%CO:#LQ;!.F2U M?J6 LR5!R;72*1B3F\^IN4; Z.@X5J&WYQ@?*-V1^S*^JW*?O<.O.#_!,_*# MY^@0G+]V(1+F6QJ M:L]X*8QS47OW9>\H@D<4X#1/@+$4BT;$H-H_@M]-SSBOE(-;C.-EWP&.[LFK MI0"="%800[3DJMA[/4]Y%U#VBYG4"=D\.0 M& .CI[Z77A[/4]Q%R!S#9GYR6J]^(S+E]_.^BS40=GTOUQ;#3'G$L5^"-)'1[&?\^!,". 9SXS3 M7F/-NZL>0.:X,#L.%]M!-IB2.L#A\\5J_:;\9;'(5Z//]XM9OI!@"%:)H#P4 M,MQDR6N;=>LI!O44A;JLHQ.M8?RFAB^29][CI*?07G.,RS(B=9_GS M=#ZM4EI/O^++;U]POL()*\EP5U]=',E,!8HD7#((0CJ9,7*O16LW:S?*1JX@ M'19H RBG QOV I?3KQL&_D(Q;VWZ^&9^^;TZ'2MI15Z%HKT3L4YQ-[5KB,": MC):E3D+IYD6G#Q(U;A X,-#:JF1_C/E3C,WQ8\V%_M!^-M#95EE-2HC%%V& M.:Y!81$00_$UZ8W;Q+FRJO6%PBTBQJVX&1A*QXF\@S9U%PQ<-J6=9 P8:K,_ M;38M1B.#6&0!GU@JGL646.MF"5O(Z.0>JHUO?JR8.T#*>2/&4P[.\/[[8KXX M9VUC.+,()5H.8C/IT1N*6YFB?6 I?E;%!FG:IS@^3%=W57_'8*FY(CKPDC:/ MRE=YN,9=[1@U9S&9*D M@#<9;^L4TD1^(7D.G+-0G&5%)-?%AL=9Q3[4WL5)?<;BV0[^A2+J M,EU/O$171$F @9/#(3-%-4EE\)HI&U*RV+P5XQVD=%>6>#SRCA-W%[=C;Y<+ MHGOCFQ9=;.1$.T,NR6GP$KP1U7V@KXVCT*:YH;M M&M6=6K07],BD1&"$_'2%7 N1/#2>>:YDZRTKHV^1L!N[SSL*8)G+]EV8)S.)WJ= M-Y&X',A<)^!$(3*-)%X!R;E M)A^_A-4T38K@-A>2ARF1).,80JAWPEBT*$(D(;&U;[R5D'&?DMOH^ '@["_P M#E'S8CH[66.>F)RS)^Z!>4%F4\@"L79K8\4IH;,AJ]FZ0.T.4L9]&WX4Y!PB M] ZP\W>VEVZW,D'D!KFP($.H46IM/>E(KEG' ME#D&9D7K!E9[DCCN:\YC(K")DIIA\/&[S3Q_\]O;=R__2K_SZM]>#M=Z9MLR MC]6'YD$6VX^R.HWZGLWSEJFTEQ/_LHA%U<2%FGRLR.*!M]Q"K<@0PCC,S?O8 M[4EBP^M.;@K'5#AHE6L'PB(I[JU=[J/4+GF9B.=QKSL?8[!5ZC\2[ MN!R_;XSSKXLEV>_Y:;/Y]/W#,LQ7)*NJP7G>_&UVJL_\OT]6ZRKLR\'/U@:N MD@+I5:F/JPJB9P$R)A59L$YBZ^N*83CI))7^$5#< 1(Z<"NW"."# 9"BA50*BTFV+X4ZBN1.\N?&A79SW7;AU]S#\(1"5N%D M%B!3T.2D.0=>"P>T-S.G4--C\[2[>\CI).=N7!#NI9,G-K7Z:EC\_L.;Y__C MKV]>OWCY[OW+__FW5Q_^?8C ?\LJCQ7W/\1@^[#_]@CT"[ :IEV,WH+0O!;R M<5?'8R60VD9M5.&>M8Y"=B*L<9]:H3.+SI%=YD*"$K1M'.,:D.M<)/U$VM99 M33WUJ6V/A0>ZUNXC[PY"FKL;&GD>>9$B@2]5)M$K\)R\5)1%AZ)L/?.' D[7 M0ZSWTO#.[<'V$7<'N-G2VDCI9*RV#%A"0V%-)%X,_2%LBN@=TY/ICW8 M7NI]N#W8/K+N 2VW.UK0&?7 *F2Y R,D,N7WL_N_?V8'OI M]>'V8/L(N2^8G,]7+C:68"4"11:<7/\:6R:**T3.%&P6Z1P.")->AU@W@LDA M0NX )A=6]M2+JY'C8DY_79TU8K3:&T/!HJQC;VW2%([F.J6D\$2!J.2V=9>4 M>PGJY)&@H>]RM-@[P- -'L[VE6"V&"$-H @%E%26["7]U3*E<_!%>VQ=!;Z5 MD$Z\F.,5?3.Y[6BI=P"=*T.1SNVG0)E*H0WE;*!CMF9'25T@4"!91!2!F^:- M<6\2,7(2[?&*O7OTU %2[@ FSW*>5O&'V=LPS:_FS\.7Z3K,SI@1RCERPAQ( M7V@7)>4AL"( @X^)%^Y\\[*.>PD:.9.V.7S:2;\#*+W#-SVF_I MKO2-,\98],$9)\GA%QF4U@)^'6Q_",L\T3)''71!B0R 4I9!LY[#3F$:.HTAF1:.]M[DMA) MP'\@(FXW!QE,/1V@[W9EBN-.:9]L;3=&6[)8"DJ=K]>QQ7/I?0BJ];71805" M0XZ#'4[E-^W74?(_&$!?<#E=9-HJRW6C<^ZF@ [*(Y7)2"54!AMB'9XI D0K M/+F*.;+D>/2Y_12O%I2/>^/PJ(!]?$WWA?)7J]4)YA':*U<)!I/A:\3I'2V1>&\HFKZ+AOK2OO-J%LG&]OD=':5M-]7!8;^?J MW\+L!"^9\MZRY(L"[G7MKQX,A$A_\"B$%@Z-;E[_NQ-AXUY^=("^(_34 ?A^ MF\X7RXVY/S7AYX*LW1I?U";_U>;7-HUWV?R_GHIZPBUG.7@'(K BA4-40H$ M(PPJ;7)"WCI7M17MXUZU/":$1]'VL9WXAS_DGR_F7XDK8OQ-^=M\NEY-DDDR M9/+4425RUX/+$(PD[UW21Q>I2G;V,0_[6Q2.VR2V [/;0G,=V-_[#I7;S-FD MBA2TXYRR=+BH1-NNWJDE&X(.4:DB6C^G[47@N UD.T!E [V-",HZE_ZR!)H. M@3N>J#^$;^\PX?1K#0:??5SBYF9NHCR7G"4%.OC:@8>.ATU#'O*&@A0AB7CS M#O-6:=!Q%(S;H?8QX/>(&NK7.)Z:_O.F=;BI]\/Y:J/H*E5F,F? 6:EU,B:! M1^/!8'&*$]]:MW^(V9O,<=O==F HF^FP7YANSH([.*SYB3%+#\AI#RJ.' (S M%H0URF*)(37O^;X_E2/WU>T I:U4V %([\KD.)TRC"RMXYZ="!NY9^]C0K&]HCI WT9<[_#+R3)]JCOI]E$PD3QE MHKZ $D77X7X*O*?HK?A,\LK!63-(R'TO5;OA[L=Y FJGHG[F+]['V,; 3ZQP M&%@H@#E:4,DC.&,,1.)("N>-;CY9[T&B=D/>C_.LTTQ!_0!OET!ML[/B3>?B MV3R__(;+-%WA657=FR^;>]D)LUK''"(XW+0CXP9"B0JJR6=T#,C8W$H.P,9N MX/XA7HW&!D$'A_^+Z==IQGE>/0^K3Q-AF:E-]:#.[*6][$B86F:@_6SK19#E MN?4TFFL$[(:]'^*YYW#!=_%F\_#LN(.25(34C)QD.DQ,S6(VP9 7HS6$X(M$ M&T,4K6^(AN%D-R3_$(] '4"A T-Z.ZW0.UXBE@2Q1H!*V@Q>ZCI>%I7(N0CR MT?M(Z_PQ7GV.4L"1&6\OYPV?PH_/]8O"6UDK?EABO :#)$<9':!B)7KK;,KM MFR\]6E8G?]+/1".JNBG(>VAP^':CU4^XGJ8PN\[E4-T.KR\Y7NO#>UA_U#Z( MHG 1C0L0F#.@!,O@(J/P7VMCA8DN/\T^B%<:"%RXZA=#E3#-Z#]Y4HQC+-#^ M=\&2V^YU@.AY .:*->2[)*8&[-QP)UV=E ,UP\T]S1W:Z.8ISWMY]OZOO[Y^ M\_?W0YB_RP]_M-DNV]EI;])JV/WK;/''Z@*1&BV%&K6K0R PJA@]A,0+)!^0 M2Y-RXH-UK-Q"3X,YL/4SWRX7=8?D7[[_;87YU?PL*IM_?);6M'?64[R4 (57 MHECO0?L<0#GCP*,0$ MRM,Q9YUH7 ^U/93?&[3@$;1DM.Z2ZNFB52@T9C3ECS!!@])J8!2!B79R-/2!X/0T)J^9YKZ'D+O C#7+NC?(<4_:3K# M:U.8/RSV%::V+I92VQB@**"L0 @^:^"<1*R]5]FV3M0=@H]Q"R ?&<2C Z&+ M[? ":>TTW2B9OI[AV5/4L\_UPN"_SG*?"'V>%0^&20&JWDY$7Z?7EY0\!LM4 M\Y:GN] UKLT='S\WGW]:J[*#*_"KM+\IOT[G@:0\__A\L5JOB+47TU5:G) & M)H$CRZ): J=93;G/X+-P$"I5.6:G>>MZR5UI&]>J=@?3053: 53OR!O%4+PE MOP@23[3A,!,#W@3(029RGF12V+P;PN'IO8,E&'4'PP;JZN( W\BK%A_]NEB^ M6)S$=3F9/4MG6Z@8E,EJ!<44\H\B8Q!UDF3MA;4\!Z^:WZ3>1\^XQ>/=0;"9 MZCJP?J_F7TFPB^7WOR^G:WRQ^&,^T86CD9(!:JQ7%Z8VI[0*4@@E9Q4QBM;C M?&]3,6ZQ=W>0.U)-'0#M+V$ZKW)[,R=/X\0DZ:XCL CE1 M'*@OIR%. M9]/U=SXI2NN0G2$?A8LZ=354WYF!3%IJ[5.,MG53RT=B;=Q*\^[V28^ &KF/ MPO8*_,O3[AU^#;.3LTN/"Q8GW!.#TB*(I#AIH=0D;2]!F:@C%U)&?\-=V=I# MX;#5QZU*[P;5CZ2^?@J5;A]S%R(]JU"Y3*E1RG-D!@IW%(7R;,'5^3JH4%N. M A-K77^T.W7CWF@]\G/50$KK(**[S=GY)[O$+V&:SZ/*E]_JPP,^FY\. M7CF]!)D(9WTT(0$ZA>1*8 "OE0"=E7<15=*L=<7D893VUHGXD3#97(F=@O7< MR+\-WS?E(LN0<8+:%93D44MN,XG2"PB<7!B4+"3)FBAH@SD9\C.DX+P6Y&EP*#T878@J[7!XJA ME;0]X\V&KENO>PY8NK<&PDV1]QCJZ,!.[G[C,#%21\FD@F(C<69=@:AY@6(L MQA+1V.9M,7>G;MRC^I'O;092VN%P7-!N&Q*.-61;W2%(%KDT@D4H7E1!"D8A MG,B0K6-9:/T.NC^5XX;:CUT-U$I=?23#A>_GK9?2?YY,EWC^4E7GQ9Q) M].PG>>(P>Y9HNV65'*@B(_@4#42A8^8^2-Y\6/$^]'594=0,+3=3X892W/BO M+M4Y.6?OU\7RS-_9W!KDZ?JD-EI,&)/-Q(N5->F4SA;R>C,'2?M:>,%%#&$' MM_#^5;HL[FF-I\;"[N)FAF26$/.F%=+[,,,WA;Z33ZK \.RVB=EH8T025<@% M5"#W(4K,P)13L@01M6M]6_TP55T^SPUFP-HJJ=]H8XL )\%I3YZ)@J0"1>VH MR3]V%$REK)0AGP1-\V%0NU/79;0Q% P'4EJ_T<9%_= 60:::O8P\@A+5TBLC MP4L3(:!.2:ADE6^=O+ _E9T,\7ZD:*.5NOJ(-J[8_#I,@#@CN_]Z,?](7N/G M%QC7DQ""34P&$!3!TR:+%H)1HDY@$5:3IR%%ZY3(AZGJ,K)HAHQ[#N8&2NK@ M8'Z'7\X\W!M\.*&E3X6!]9YDE1D'5[P%+;,4.7BI7.MC^"Y:N@PVAH)8$X6, M'ZC>OV.N-,B:,"6BEY98XBR!DBI D"[1.6&EYLEP[UIG*#Q(5)?1QN,:M4-5 MU(%->WNQ@:X7A$^*E;*@YA#(\R7;K&K0I MDP]#I8DE0S9OZW$%+EX'$8 AK MH9!^;-HI$_BZO@R^74Z)GR^U*?\ICQ.N8DJZ>-HL.M56Z:J^ ]:(*V?O6>;& MM+X)OI>@<=,$'AEI[533QVW=Q<:Y;,=_Q2Z78B+%]A[(U21?,U(X1=LG@E>> M)6.=TZEU3'H_1>,F!HQFU8Y63A=@NSK$^[>0\33##&[ TS@"7;6@.>P+/J+3A$5V3A/+3.HFI$^K@5 MK(\,WS'4W07.KSSI7 Z.NN[P%N\<;5X'Q@2LC5L,^.0,B&0\!I-U:=X ZF&J MQJT;'66V_K^V0_\:9K@IS*HV/]$VV&1. MS//U;USYS8E@*B03$8CA7#UL3R(0&KS(6B<7,36?*3, &^,&YX,]HXRM\ ZN MAHYB]G2JY.WBKJ25$F)L[)#GC4=$11(!!\XN0J*>X=%S5?N/%V M>%P.Q[U<&&RG= R3#@Z.,P'<8/L9G9/+Y7?B<#-W]4(/D5EF%9.0=:!3T2HZ M?#4Y;"EY+;7/BK/F,TCV(7#<.XM!(3R,DIZZ&9\(QU,T*D"6H59J9 4A2P-: MB\1M*2+*UKT$AW='!GMB'Q!(+:WN7EH]?;3$,K>.DSY M8,EW@9W3R:3GY$>G>)$RD657&T-/AC?(",4*E@+'@*D]<*Z1,'*-X*.@YG"9 M=P"9.MJ6)'.9^#[/%_>_K\AP7]IJ+J42K/88QLSJFX2&$),D/IG(W$>;.@#@N^G'3^0;_&UU6O[S)J[#=%Z?(+[2-KL M +A;:B;)@SBIE/QRLOY]L?YWW!P*$ZY4$"S7D11(T7L1#J(W%+V+HHM,0C#3 M^L%S5]I&3C]_%$@.HJ=^IQ9ONJZ==HA>E(US,OU\)M4PNPC&5N&L#=M&SM>Y MVFE^\4'+-)ID?#R+C68:OUE^#/.S$5VU-_=B-LWA;)KU#$\*/;K=L,@:O"4"TQ17'TAQO\QJADP064G&*#(KB8,248!S68&V6:"VP@K5 M.K0YAMYQS_['Q^FM3OB/I>N&!8_-3?.O,_SV?HTXVW3H.!WIE)R#2Y'Z?W\C&'<%4 M(^-WN?+EZ2IE[/G*2MLVBW4Y&Y<#%"T\15Y.0T0,8$6V)?,0-6_-^T&$CFODCD7- M34LVO*[Z-6Q7)P;L;[9NS1LXWBC=25 CDW,QT/)2IY>M9"V7RGL+415=VV K M<-8*X(P)(;-&%EL[%?>0TVS"ZC;T$B<&&5,@N:N#B(A+KP5"*M*H8)-+IOV+ MV-WTC#T6I0TF[AR>>JP&^K4?;Y>++[A:W?*F1\AS7!UVD;?^D9G=E M.Q#:R,:MNS*/K'H;&TG:$#I1/B*=((DD82N'1A\\Y$=#Q+5 MH W(]@6VH=];H6@';2H)*/) G\%G[6A;::=\M-*&UG=]^] WKCUJBY\MO4"& MT5._5NHOBT7^8SJ;7=R$TZ?./TYKF_?3SI/[FZL'/[*1W=J/]$8&['Q10L?- M];8!!X]07R7Q2ZW3(F"&?(6 MZDCJVA1 TMZT09+;D&NKQ&@*MK;M^U$XKG$;#ENW1HG7*83D8XG5RCV]Y)G$UGTP;1N8[>=DJ.[ M 8Y$3@XP.X:S)&VB=4GT'*>.:C@;ZO]4AHX'( M>WYJ>X<4@I[@ 1;A_%\V,@I;"6EVC;SY[-KXP# @;#H1$PS0O4MGF:7*[D79\B\][E[G$-?+BC>$*K- : M%,L*HJ?C+J7 "IJHU@@ZNC78-1>19T=;JF\X\X3X<]=]_W:8U, MR\X$-[(W5]9[=F.]+>>4+H)QSS441LA0F1?P->9&S+YH6822S7L=[4/@T:4L MNRQVN4>,=)EG2>+@Q9";[BTX*>AX%1X#RL*]:1U,[4?AR%U%!L/6K=*6X?36 MKVW[-4R7FWX6OV&H_)UV M_?JFW_G%9YU \3V_Q8=^P[_+)85IMZ@'FY]1&-+,O] MI#4R*C<7N7R7+,XY)1UDM)XB]D*GE2@*C+4\*G32V-:!V5VT'!VBW?C1]U3V?Z/@^_OIGUH(5+$XHRH+\ZMQ;,;93]"*?\^V+NCE+^E_KJ84ORW.H3EY6H]_4SB6DU* M\LQ%%430K6"FV,&%"R8WQ=YV"<7OSC(^S(_31\P&^K0%!Z\C0\^QX:]-U M")U/JF7$/DB[=;DQM!([Z(9WR>,[3(N/='1@?I5)#],RQ5.QGG)-I)&\E>#"*Y5!QDE4C4S&5P6A3P)5F;D\]:M;Y" MWY/$<;OI/B)RAU1=OS?0>_6_.=@U/625,1K\#.C,;FO8HKG,3$L+(F<.2M7G M#"[I*^F+\]F8:%N_R _0YN?2Y%\5)6V2>SXZD>NU;C.#S=?7 _BA;[M8A7FN\<;.]N?T;[ MSD #VJK[>L%DQK5PR8 Q==P[!1ZDY! A1YD):S:(YJW)!NP/=(GZBT6V8]LD MIWG(#$12H@ZG81",)"E(Z62)J"5O_2"Y*VW]]@W:!RMWVZ.&FNG7ZMS1FN=@ M"W3_YPW;3VA R_1P5YBHHO&% L84&9U\6!NWB\B!)>6J2U6=NX@=)A.^K5,#S7?.=A$ M[?C!C]1#:$"CM5^W%YD"6ILR.=!U\H2-"$&)!#[Z$(,+QH76!NQ1.PE='NSG MRUZYY^8Y!VX5R)01E"FUK(O^T*YHG2R=\FXX+^L6.4^I1] ^J+G;U3I.(R/> MO]9"X*L>XW5YO?QV-I/\@K^-"WG=CXR1W%$?6&UT4N\.M2).?2)G-;A4R&([ M'1ZP:,=3,>X[P?"0>V0]=? B<,[MHN9&3-?X>OH5;TGWUY,ZBNC9YYKO?)IF ML9E0M+K)NU=<2(,>/'DLM=\RAYB=A9 L,A52XJ)Y"GI#^L=]2WA\@_KH.N_7 MBSQK^W*PLWC]W[?MQS3HK?]N'770VZ@]LZ WL["CC1"9#X!2JA!YM$RT3G!\ MI*Y,M+7"QX]+_'B6(795YE6-,!"ZE(\?+ M& C&<_":>Q4SYR:JQGOT4>J'K^2@G(DYOYF_PSH5DES138;SE8W@B&66"FAI M-;F@]4K;Q3IMPZDH ^8<6T?G!Q':<;WQ/CBZL]YX,*5U$#)<,'F6+G4M36H+ MM_0+OR_FRVO,UW]_EK"2/LVG_WER]F!XI8+22%YDL"!<+@S+/ M5(J%M>XU]"B,C1M"#X_\;D#1TT[9P1S\;;Z(*UQN$AA>S;^X*UN9U)8!(&D4PQ1;1^,3Z0U$Y;7.R# MH;N?7(936K^&ZF9OB8,-U1T?-% +C $-U9T-$*3GEDG%@7&WJ70TX!,I'+4E M5TS)R)KWL1JJ$<8EYF^N4 _K1 [KB^GL9'VK! 1=G2\G!3#F*&8S@O:9-@@A MF)ART(J5UG>#!Y+::1.-?3!TMZ$:3FG]&JI#NDV\P'68SAZKO\;Y:B.VU]C* M<%?=-3!K9K4VM %T(J=>\UH_5L!+[WW1CC!9&EN04;MKU%?VJP34NX!07QO? ME#=TF&V^=QKY3Z3CY,1D!KR0+Z&"$!2*G7H5 8U,9#+8 [#=?;4?H5O&/EBZ MFO4P@#XZN("Y$-#S65BMR)NMO;6??9NN)B(Z9CQS(- (4$YDB%C%9AVWQ5L7 M2O-4A;N(&6_ZP1!:O]7.O(4*.L#25?I?+#Z'Z7PBLI+:.5,'BGM0*=3Y5DK6 M!NS:DJQ\4*V?G&Y3,7+XV4:]-YM%'R?K'M"R^/R9['CEX]EO^#GBH]#8'"VWJ!BYW?B1>MW24_P((8^<$/J@\27O&#Y;N$&7:PXSBO5P$?2@$(?M2M8Y>OW MDPK_RZXM9U=SJTF2CF)9[VNG?HITM20ZGFJ;63^STLJSR_XN'W4CM][( MYNYG89QF5+P>;UEOTVF]LX#!B9SD;65CA5(KJ0GUG'9H7,M0TJ M1T_1=)+24+E%#PXX8BK[!2XH ,QF:7 )*.Z67C<+M_T7LK&S:1^U#-L M %7U!,"KY4.W^3O;I2I8DU$6T"DE4"4IB'4.'(_U+2$8D]U@.-R%P$Y*6AHB MY"X0-E=73UC<)&*O-A*3YV\*'GF(!<'D^J:0E*63(FMP1:"L/0CN@MN1&ND!7.<)&Z_F%#V?;)H\;7:C]T;%("#K4J^1D2 MH\^Z=5GU':2,6XWQN&=I V5T@*D/RS!?TD?V22V -2B$^V.')#6 M+-XW)^OSXJGO9_8>:5]CPE#KL#R=(YH1!Y'DZ6MI5$!C_"[OW]L_?5STC*?I M15.Q=V 2MQP>EX]T*#*YN*76BM8_N. 0ZY'!E4X^1"84#O4BLHV>G4"G?H@# MMYE:.H#8V_#]="LNSNZ0SIG#U5^6BQ7QDX+UT@9(FMQ>96O[+YTS!!<*Q5<. MBVI]DCY$4W?7;P=J_V:'TY:JZ !:6][?:E<=.@UJ=B5MRVD^2SVX,--G':TMQ_43XB)AI"T9T#)1QFIR2O,D&QL1DXI:U#G4/H;./<4+-P3FX MRD8.&YZ'U:>W),[I:K58?O]]L<;3U(4ZL>M*(X8[CXP)+\+98!@P9.0XIT0^ MLPX2>";7)BEO;!0[!!C'TC&N5]@E8N9=T**R_ M;\*^D,Y_O)HH%[TIHD!VTI"WP@)XI3W8Y%'X$E#E1QBUM@NI.X%4/QF0/J;B M1C:3VY["<][\-\QN,69$9EYQ SYF"OR,->#D9C1R<75L79%2[F 3]UIT)VR9 M)X.M887>D;6[XDJ\FF?\/)^6:3K5VVD_L,]URMVSU=EN.A7#B[#&B0[&QL9 T;IFMCL%;-#92T=3/1.*+5/!J7C*+,#]+Z:I\5G_!"^76^\ M]?Q3H*CMU?S%&57T"Z>,7S2HNQC0.$DRB6B, ]J>DF(WY''X?69W[ ]B? GA>NQD3'>UQ?-:B_1><8YFN3^\?3NI[PD75 MRK/\OT]6Z^IJORDW!7)Q,3$)C&,R)';,4M;NB@C.I0C"N^2BC22'UK>8K7G8 M">/^Z6)\#%5W8+(?Z#E.XCD=T5&YI/]5AB>1>2<41XC2TZED4QW\65+-^8W* MI.PRMNZ8>0"9NUW3LR>'V*$UU@$H?\?UZ;ZL4VDG3F.(4@7(!NM;F?>TH[P" M[GDIA9ED+F?"-X+;-0)V ]+3>_ Y7,I/K2CR_GBS3I[#"M\MI MPFN/"&W+)?=8<,!"RD/9'JG$4D2+2F;@$>G@=.0JQDPQ.Q<4PQ,T4876+QJ= MEUB*9*),,8 LBK8D2@%1>PW614HN.!,W5SANP/46*YC\+N*;'<1WI]6I3+6,CE(!4/ K0/% NE MVKVJ9 ],4E@4DR.IM':7CLY([:>>E"S8TX33"K';EQ MM5Z=9IK52;;TQ6:[6DO^ %<)E)9U3&PQ$.O(,Y)RO7]VGINA/*<&Y'>*L.!-R FT]KQ??F_(L"5YEDTJ*O*1'N'=LF>P_3D)K>V@V5U^_DT?N MO[Y?XFSZF>2R_'[M)K^F6:1!7R]V7OA17C$.$\,XKQD4FXM@M &U:8E%8*S3 MPAA@299%@2J*1SCB>GK-8)F9**(%X6OO"A$T^"@]:%V2]!BUHA9#K@NO@^R1>*& D=?!GQ*DI",#:Q8$:SU;[,=XS=A+_SN^ M9NRCC$XQ=?U25B;FDA41'$_D ;$Z(3(7)-:D2SJ:@O(12N*?PFO&7JK?^S5C M'SUT]IHAO0C6V?6E#TI**Z)G &G,Q^E"L[;UM-M?J#7C,;GU6%JZ0!B?UDL M\A_3V>PM+J>+_&J>EDAATPL\_>^$,VV1%L=280@: MZ'IV!LPL8@ MNY^B[BS5@9I?#*:&?JHDML0KM5#DXWSZ7YA?99+WM$SK;CRKF ]#&,8;'<$@PX,;E-IG%YQGOXF?0J24.I(\@DJ4DB( J31N?HY->O;2]!!N"(P MH$M#93H,R5?'[R[=;) 6D/C!MLFK^5?Z_<7R^R0F'[,C-X\EYVHVDX/(BP7M MK,W:9\,?XRGG>$8Z?N7I92,V]:U><-RU'%WE%[VPI$P^,$VQ=OEX@LNU]_?S@+)Y-29_%+SR"8N M&168#,!]G: L>*KS)A,DY(SGB);%UM'NHS#6<9.77K9(&U!TTFZHA4#.RMKG M'U_7&XAWTX^?UF_*WU9G_W2BN-56US0*YTDJK&95H*IS+50Q/(K(;D[WN[=7 MT? 4=]Q"YI ]T+&Z?[#CXA7!9/YQN@FB'/+H.#)((=0.\YQ#X'2(NF!B#,J% ME(>:)]B8E8X[TO1R)!RJ^!\,_QM_\??%/%UU(BTTO'ER=\G'Z# "Z)BKF_ B-)X=CL.F571(Z%&4T&#I<05EG29N!@[9&NW7?,/_NK= !$_ MZ%X)7Z;U-*R7%F_B;/IQ\W$31*&4M8D<4NE!Q>3!&R=\@_^_'T\'G[,C7(9LUWYV406QC./%*F9>JUAC2>U,0719%4[.AB'/4?Q M6YG:;9O\8S^.'X^&'W.77.G:>U4PN2@5=%" *M76EU* (\L!.J"+R#;A>L?; M9#M7N^V3?^R'\P9X^#$WRE5I*(Q9:.0@=7*@A"9IR%(@E:(8M]9'.U154V-6 M=ML2_]@/Y8=J_NA]T.6MU^^XGF!)QIN0@&3A:RH-@I@Z0Y> 2^NI9G4/G-M(#%12(9>@V,V0W&<.Q&-9[DU0O=[47AZ M#\T'R?:)MA?YVSSDZ7J3(U46R\_A':Y.2/D#]11Y8+7':"2R#\/C= ^1H2BA MF"$/5-6Y3\)"9$&"RE:[* ,YH8]P%]Q3]Q"%+@0O:F&O/()QBGF5 M2&#-QYK]T-U#]D'8T=U#]E%>!P?K75T+-(DFYU0@&":(C6C!US'3T>>@T 17 MXE#I84^[>\A>^M^Q>\@^RN@44]>;(! [H6A)\HG9U0:\Y&EH%J&06UJR"9+? M;/WPC]H]9"_5[]T]9!\]=-8]Q$D550P.,M:FN#S3/O.9@2E%>.5*YL(_X+L] MP>XA>RGLGNXA^TBO3XMR&?L$SE+8I%DX15LD.3K>.7.;'6.#9 D?8[#"!3U/ MK'M(X_/J,+7T";$5!4V_G@9-FS%TDY1B\39Y,%EI"I#K:#EA&6C$($W$$/4C MM%2[259W-NM ##P,KJ,4TCG&KD^HD[0'G4H19*G/,M+6FL9:W+B5L(JK9T)%IC-N=HN46\ER-%'D;FQ*5O6.L+>0L:Q)NU< MQ+\OUO2A\_QZ$>97Y$T;Y[QB^YQO(XIQ,B4@ZLAFB]JXCG$-P@4?7<*8FB>T M[4WDN$?JL6BY:=F&U5'# :F'P_!O\SB=S3!?$=UYTW29:V?%G" 'P:JUK@ZN M08J;,&:M8[*F=27\W=2,"ZR!@; 81"<=^&T71P8Y R\6)W%=3F:WSY9WB]F, MSI0_PC)/G',R1N(H,]#H1">XNS67:OV)G),:N[=]AVCLV__+HMZC;C%QE]^JEPFEQ6[:%Y9(Y.$8;4+E M[JXEYDP)Q3-K=+8W7BBVOE7MN>RXG14?!VY#:^/)!!\3Q.0$E@1),@2%PI(G MP>L;(2/Y21:9ZMCK&ZPVHT>KMY>NCO3Z7L[SD)?(YZU)I\=<$6_YD$87P ^1 MU^AZ]Z)!ZXOI*LT6JY,E7L2TWDAMK:TU!7548 D(GIL T3+,TAN15.O7Z7O( M.=8877ST[WAY290",TQ2G(ZRY@V[$B P7X!.!?^^(T\L.4TS%83Z7V41B XQ^H0318AZEA3F[2WVLIPJ^]B M.]A<):03W!RLW[L <["P>T+,WQ?+_W@UI\@VX6HUT5K4A!0.B9,T5'(<8KTW MIB.4&>X5HF[]9K:=DG&O%8;#S.'B[@DTOT[GT]4GS+6R934)Q3&9B@'//-&> MR9<+/A40R2@3BK(8!CN!KU$R;OP_'&@.%W=/H/G+LN9V<"U"M!0<%I[)^^?, M0'16 PIOLF&.,^^& LN&@G&C]N% LK]XFW65:Q[UG'?8#E>::\]Q?7@$], ' M-HJ&]B&[461T9R_R"W Q%5@.#L$Z! 0;+&C/10@F*Q:&J_2ZG[9QO>*VN+F[J*NA?CHX MR^[DYI?O'^@C-@4E&-%@X+6EITR@@F/U14B!#U)&AT@6N'4#F!W(ZJ7(JR4> M;K_.-55.SWBK#)U5K"2,P07K0-J:ZA.4K4V8+&3)9#&%1X&M,V%V(*M3ZW8H M%':%VH%ZZ0!JK\EI.:M=RE)%&S&!MZA 69_!JTHYT]:I_]/>F_[&E2/YHM_? M7W'QOO,.]P5X>(#M*O<8UU4V;'4-YI/ 5<[I5!YW+BYK_OH;S$5+*I>3F3PB M5=- H\LNJ7AB^3$8$0Q&8*FP+ITW>OAZH\ Y5[%=$2DW@(^W"Q#<:'(#0MG\ M\*+;E^]OT(*QN.FEH M5)7730. ^\V"5"=Q>O=88&M6H@\A1HAR@X18F6/-D'&4($FD8Y81HW7I"Y$# MY-1-.PT-KE)ZJ/R\^4N,XUR2_?4?H[#9$9Y:+C2+",Y[$ L6X *X7!TC< J& MR2CD5G2XLVQDQ])UDTQ#0:*$'!NP+'_$;R,_CAOJ,0Y>*"N1(#F?*F0N7#$" M,:* ?JZ\+?Y>YBD%=0LXAK8?%TB[NLD -8RW;1XA5(7('$HV'Z-1>X ]EPA' MEAC&2EJN>QF-'8O7';XXK-FX5)8-&([WB^ED-,^%!Y/P?O0S_VD#:PTC8AX)J7(QBXO(1FT1]5K::"$RW!X)2+1S42B.K&,YGY)KQX0%ER3A2*PW$!*5OJQ[ ;8:3:D/ M;(TKP:*!Z;)GBJ2G,%("AC7&2"?#J M[HX!H%!_'%-.:KR M5C][NY0]]H'3(SD'M&$AQ"&>^_QA)2Z^<3AT++_ MJWKZT<%CK&QFB!!\O6C3Q!RYMHGB4,T MP6MF:'&;])B RF II]AMR)PMY$",RQ1\GF17_))C!QEMA#UG*G8/3,Z56*"H%@1#/E2Y].&VL]]"0.%N)^X9YGR+19CJ+W^<% MUN/K?UE,1Y.;S\NOP&F9F">:(BRU1#P&@VQVRX.*T29MO'.E2PD.T5/WW!D* M-Q=+OB6K$KW&R@>'4N M>EJWQK\2Q+.=R]0:_OOM0=PNE"J'.?((CBTAH41"Z;B(H@I^"P M,TQ H"VH9*3TT(E*]PFYU]X\?AS]B,\^NPH\M*?4AL204":7>?.\S1E'@1GM M0Y(FBC38%<,QZMKPMFL EN\6LWEW M&Z=?XGBINMFWT??9?>*?V9@[>1GB,>)*,J1YB'GD%_$^7W.'TJ57!\AI%FZ7 MPV#[E60AG30 K_M;A+NW=K9#="NF(*!+).J$C,44<2TELC[O3^-5$C@*:4H[ M@;T(JYLS>4G(E==3"^";VA"S@.Y?&#NEDN4$4<8 OB2L8ZQ'T> M-6PMQ%A),(,3EH:5+IGK0U13@*V4HH..3CH MD2#*!A:2)<6;N?6CK-E@X$Q$](?II&W2KS@G6>(D3CP143HO?HRF9H%V-@[Z0^UTI;0-LKU]$!P%7GA$41$"#H-@R##P&AB- MU!&7DA;%N\V=3&6SL>@+ +&$XNH_/^XGR^M@K==* 1ECYQ6*P "ES1QK)"**H*?+"BR0@A$$H1E MUAG,L2DLBK]F!< IF+J@ N 4?;7M#SZ[)Y3Y88.B"CE*+.(:"V0O3F7[$"X"2$7% !<(JZVD;BSA2I=](&+2/P YQQ;T&,$63)2,(2_HHY ME2^'QM== 7 25"ZL #A%;Y7?RWT((.=1&N5M^SSH6I56;YK+:Y$8$QQAFP<8 MBEQ*ZX)#E$/(1:,6PJ@C_N%I7VP67)60"3\;YX+!^N5N-![J:-7AGHJ$WW,Y430-P^QK'\*.;O\5)G-H'4,-N3L0KTK.A# M6;-)Y3*0&T ]9X/N1YRZ[@GLZKT1>K]8#GQYE$I_@0="^S_ZTJ^#>K)?)3$8 MA,:$Z5P7DWLL,/ C80,())WPFF*I)!GJ9?&+) 8/W?(\4LAZ:WZ)V;G.U3[@ M"LV\'?]GM--K%Y/C7#'DK0,9"+%B#[-:423T'A*?=X M0VBX 3?@-)9_!\-R!>;K1_RMF\R_S:X%"4H'KQ!U++]7QF'U4,$EXKQR$GM; M.@-^&<5MO"5O#6Y$;5FF",&,@6)[#R\@-,A8$;FQ25+U@ M;<4A4NM63YLAZB#:YPQXYS"UB0BH1J U6U87L$W+K M3J)N%;?G:[1M\.;:4W#+C?8^P@;,B9 D)7+: W/Y98E3+,KTL@]PZHZ[;@*" MI^JEW9K@7Z*;%ZC[W;E,H:3^<1(+I>GSAW9@R!$M(DL,21H,XMHQ\-Q<0$(* M"(R92%:6+@G<32[/I?#FDO1N/0G[U\NMD/IJ/XJJ(SC(X/H47 MB&,:$ \0>)LD%;)4\T""M;'?E&GXR".HP-\>8'+H^_5Q&>J,\GF[I3[S M,7M_L"VHG*/9;F@Q5S8TNZA7VJ3D$[(23F@>C$9.N1SRI12B\QC'7HV2CQB8 M,]%2_.)S +04$&P#P?,[^.1H_M[ZT7@TOUO:6:8M"1#8(4ER7QE&'3(^:@2( MMD$2S%7QZ\CG5-2]'R_EJ122OF01.6H3TL+#ADH! M?E;Z+G 7'76]VDMU>Q J9PBZ ;!\B3^Z\8_1Y.8I,YLF9LQ)P3Q#(BB">*04 M::=COG,R"-LB9G)#'A M<$!+FRN-X60#.:Q"TC MJ90C1G.#HI,<<%!"AL"4/>)YCKOR"GMY:<<2?3??[!NU7W)*^;S9-B"XC==W &/-'B<6_1 MG$>!>T,)02G!7A!)BZA+7"(_^F2]J\ SE;6M[C,D5UGAOXTFH]O%[?UX$;!X M2@04-2,@ 9_;N:9E(QVML=6&NUY.YA&5/_EH9:6?H[*NA/QJ*][^?$2XP=%@ MI1*B!K#.*3B]EH6$L%2)6T<\H[WZ8QQ3_../UKO*+:+XL^77@#/XAYTN^UU] ML?.5U9.,6<%S"^>-16&0,!M\'&T:-I22JTH/&MFFH^X"I=.KJ(@DWAI"U M0YS'Q8#G"CO%<9<'QN3YIA#P" B7$SBWX ^7OJY]3D7=#,1E6CT D3-$W !( M\J2R3/WF]'-*V3P*SR;!\W RBVRP%F&=F.)$)EN\B\)3"MH!QSGZ[(H)MW*M MX3I7\NE'G$Y&-]_F[T<3._&CR) D!2Y':AU/G=S]RA@[:F'S633 MEL.QL\JPQZ?JIJ(*@6((L39@0 ZR]+5+T_N??)B$^//KG_;[(V9%8-@F"KZ: MDPHL<((MD324U'W&75IG_E"*3>'DT?-B970'@[O@)CR M#,2B&-+1>)1'E]! L W%&Z;MHZ6E1SRGZ_@@9,X4> / .5)UQY-2U"I0L@,[ MG3Q!)E&/8C1$ZN2]<:4=ZX9+'LOH_+2RQQ,44-GY?G.[?(O[YNW'G9S /L.2 MTXB4Q!'Q(&&?:1&0<\:(0)GQ3O?PNP]_I:7J^POQ45BDE<%Q]2WN9(%8%90C M'F'+;:ZX\<@:+Y"5T5"?Q_5N.S,[4;%G^9:*T@K H800:[\&7-+_YF8:8Q;* MYH+:!0R_9Y P&!@PAB ;:*Z!(4Q9QY+=K@;8_?)OU^(MW>L6P,#E FS Z7@J ME8\/#;^E82IYAPR<=!"< 4/.\H12PHRQ@)/M=QETMK/Z\:0I$(.UVQDVOCE/ MW@6[GU]6TWJUKIBY-IAP031!#OB XP\;I)6R2'G*I9#>IU0Z"_/X^RWYHF>J M=$<)ZUG2;<"DK J?9IO*IT^+^6QN)P'\ZC>WW6(ROXX6^% D(FD%&%P*<9XE MCN5B2\)L<-;HTA>-QVAJR5LMA*"26F@!58]V1/[G-0G.!3B[D;("3+$+$3GE M#4HN\A1\M,H,\=KB,0TM.;7E[<[)4FX!)8]JN>]=\U65QMMN.NW^S-&]_0X_ MF=]=2TTP%2HB0VBNU#&Y_0(XZU) 8,^I!+9+OP,\A;Z6W.5"Z!I*.PT@[ZF\ M@+NXMK.628XC(4@3 7PP#2&A8A$%I6@4CAGI2]NI?;2T5%Y3!E%%I%XY$-^U M*]YX#^H8V'IUV_=='Z?ZG!<.8A)V6KN"6=6(B>E080)9K2$ M+5%\VO9>8GIAR+PF#)61>P, >BJN7M,2O"5^#J*4!N.TZY=]UM[>C^3+JB/%S MG/JLO9MX'1W3,H#H*->PDZR(*+<515I2+5A0)A4O@#Z!O'Z@>UVI\H&44]G/ MWSKONQ]Q8D%D\4>< B=?LL[6CN6U8-'B0#@*6.2'1RGEN@.%I/*.,OB3#:&' M5]__B_U0]"K2Y0.*NBD O1_]C.'=-SN]B9G!>\:N%1C?2'5$D>;Z7\_!:]0> M_D]Q&K3%)FRWZNP!GGU?ZP><5Y$Q'TC$Q4!3?$S%%]@/DT7\ZK_%L!C'+JW_ M19[Y86]NIO$F=\5U=^_@'S?=].[\21;G?JG0L(LBC!::A['^]'N \KMNLAR* M\!^C^;=WB]F\NXW3^T$),G"N HW($(B>NG4(0V#E MF8=?2AN57[Y_GG9AX>>?IE_C],?(KWN..<9CCG\CUCSWW(U /R/( /&4&.XP M*]'L8M>W*U>P%--J5U#$;4!D]F82UAQL6KU'F:2V":)7[W.)G_+(Z9@[OTMN M-94A;K];O 0GSPFHURWC%%E0Q1@N?24\(J(Z.2Q7:E9)NY0#L2Y;[>&U+U^1SQS&70+1+V.71#L!( M?LL-T8;'.A%)&#_B'>]9NEXGE;)J+R&Y=FS"@TP^S;_%Z9H7S9*06BL4\E,! M[FV^J:$:>8@$A07GC+'2W1D/T5.GC&UPBW&Y[!O T1[7["%WX841P4B%,(:# MESMKD!;.YP(]"ALD2$**WW >S2+\ M+US9G_GBABL3.(K2V;Q[ C*&VMPNRT3IHR6J]!OF,\AL,IHZ$R?/WZ@.JK3J M/M.2O3>S1Y>@"TQ+WK=2V1SRB\Q,[IOWLX09'DU$,N2"ZDCR6#G)D7!2!0K_3MG2@>D+ MY8AWKIVGA(,+^'%DW:HL;R,'#E /X.0GH:0-ECM ME<>"B.)[L0]=E>>8#0>+'@"\2$?M'IG@ 'Z)/HY^Y/CG_K'ZU91OJ%I^FRJ\/.#^Z82R]24!S<9A2(]N"928IRSOJNIO;?NS'LY=F]BPA@CSSA$!"Q#, N)X8$;JV*B M1AD4P2;GGA<08"HKD"?!VXA)LJ9/ =KQ+]4)V%X8.$7$7!\T.\3U>55]?JTD MM9%Y@CS6>38D-L@:G9"/.$0-?_*I)U[V?Z1.4ONEH%)(N$VBY->?W^-D%M?; MX%I1090*%OE<0L>E$D@OGW-2;K"A&G[>Y\U:GV_5>7%=$3,7B/ITZ)@5=":K M^KFK8@'7\G;GH>+[.C!!&.88^=S=(H<)R&B(#J3QUAE)*%6E;]>V2*CSSGIP M')40>-7>1?LE]"SX<]@8P[1&W-*0YP!%Y$P@B$0?))RUU!-WMM4Y*^PN_N*Z MHMVY2-SMQMJ__G.11R2?'5@__>\+1=$'B"J4@%Y]X1XJ*G"E@Q1(<841SUT7 MM/8_-KJQCD0DG2>*.0]3X!LFO(L,?#)> 30.Z4I=H6E49+^ MNAG!"Y#UK%=]+:4VD)+^"AI;VMUW8SN;K;E<3;HS-DAF,824@2-.74+.YZ:E MR1L.ABE26WQ\PCYBZD*M'CZV@5I$60V@[C']FV$3RBHOHT+14P$<4"#>69\; MOEO.C ^6XL)P>TY%99R54>_VA<9ELFX!+1!/=),E'V\V8_FXU<$H@B3U>1<9 MB2RXGR@QHI@GV 51VI%X3D7E*[$+]?KLWNLB(;<%D[>;QOPJ)>$-18P0EQM9 M!F19GMC.B,:4:,IBKX&EY\'D;0OM[H>#R3E";@ F#P?THW-[:663]T+;I!#1 MN?5$,@Z9)"@*S.,\6TT)7+KZ8R\Q=4'3CL=31%DMH.Z!_-Q?_E.ZFMK)#"(7 MT.AZ6X*!)41+CER \WTY,1+V#T6.JLAC$L$[5AI^1ZEJQ?.^2/W;H"JKB]H3 M74(89(MB&*M)Q!#L:9 M262XH@B<.Z\"> F<]4EF]_U>Y6-M.- ,(O#*(/H-OOP-5$V^1M]-0C[@GVX( M+L&+5#JAI*3-HXU,;A(748A!^AAED-O7:3O!<^P[=7NI#PB:H@*N_";^7>XV M&:<@T_E=EM/RE+9><<:L02:8?/T7(-+P2B'NE _ 3>3],MQ'GL/O^G9ET-1V MH(NHI#*DOL3O"]@@=O9P.[C-TGH#4B8ME?F:63>T FJ[1LO+T \3OTE?Y(I*IBUR1.0IQT"_<9$@ZD.$?Q65 M,7T.L:UEZR%@(*5U92186_E+-VU=<[LL5KGZ9B?/& HL!F<5[)? @*%HD4X* M(DP?O<3)42_[.\5'/E:O.<,+ *6XM"N?2)_^G, ZWT;?EV95$>ZP# J!WMW* M[7/YSCG%R'W"R?O8*U]XY-1Y\M&ZDU^:<&O.5T(KZ%EO*P;KT\ E4I3D 4I) M(Q=;??[6049YNV(V!* MB38"[%^VKD%!],A%'B$=71"8.>G[Y.EV+MZ LL]1TS-GXQ*9-:'TCQ_?K4D/ M*1+JC$,R6K>=&E%7T>7)JX(+G[6(VFL39 M[(V'HVZV3""O+BHD83+/^Z4ZSX9W 2.3[RUH]$)IDM^BEF[ZOH>4NB.^JKL. M)175*-[R'\&37V_$H%/RV!.D,%V6;^0G&];#!A)1&B.5D:4?.QPEJNZE41'5 M]X#3^7JH?%:]'\>?7V&7C3<3RY/0/K^<-S2Y7'LO(/!+N=>,3BXF;VE2/!. :6 MV&J)*B%IS,7*;P;2OH-0.EYS4:0$(E2@Q'F M00(#-!?^X(B8]H$Q'UP(I6.XQBIGRD/F,BE7SN1>C>;Y?/\P":,?H["PXZ41 MAI,Z)@KBP,MKUJ@B'.&"PU\M"4QZXTR):H>='Z\[.[>Z.U1&*:VA*O<@^Q+' M2S7F#-M5]^MDGE_LKK8?)D12'"%89?G0U]8@EW(]&>'<2J&P8KU.M5/Q=IBL M>BGG @ X!*>"VJ@/?K[?=Q=Q*Z#Y)Z6<+-P2&DNKK2LFR 7?GZS>0Y4,MP.=I=S.UM\NM$XS/(^DL4LIC MD(E3R'H),C$R.L(BTEPI<2P\B MRMUDF1-,.$R2Y,5?GQ^@IW+L7TCGO:!TA@(J'V>[^=@$GR+"9@L&11O!) N1 MB],X05:0Y*6U.O ^)]NA;[0(CG.TV T@TA;LS*Y'9!_O6^D[@9W15",F\DLR M3S@<_"1?.SLOC,'6V>*)[8,4]8*3^>L?=.74U@ (/XYN1_/XT*MZ5=!R]_'C MNT_3]<\^V^E\74KQ\?-JJ\V>_?"^VN)#+M0$45^K1-FR-X0G>6J1L Z!OTJ1 MD[#YC9>4;(_XOAB_@S'3X&O3,Q'W;!)]"^IO8!\\2OLMSYC9I\5\-K>3/)CF M6CG-L7 <:9K;$1BAD [:(L*(TOD)@R*EXXU#]+3R!K\X&HLIH7K+QD><_-'- M@?POHYMO\\?3;6A20CMP5@)F!@'Y#'QC81!L"\4TEMC@/B."CGZHE?=FQ(*0VA.E4!=L]PR#I.8"N57$/"K;":&L#@>J; IK58 M-LUVXN.[;C:?7>-\ V*B1UH9X 7< / AJ4?*8"E#! ZY+0RY0_2T'&'% ME- H-Z$_UK,EEWC9U?=GH*B>R[!"WC"J_94PMZ!* 5;AKB5";A>FO*HHY66 M414+ ^X2>ENYRRH.R!=38@. ?<3'+XO6@!;WBMO[2R&G*F. MX*2N5 7^ZLVR"OWMW<.OK+V0-W_::5C^WQ]Q-K\7!+EV8+U5T!118PGB.C+D MF-00;,4D<20RXN*-+0O2WP^ZK_%6HIJ6&T#XIFCK:YS^&/FX6Q2_=ZOKS!7# MX-* ^_+XY]EO^;V;_V><0TS7W4Q&_PUR6LKC?3==_ZO\>R =EZRGA" :/,E# MUF6^B)>(Y"DY7@?N6.D]\+(<]MLEK_&VI&&D-+"/?EE_]C&S#R)Z9$MFSR8[ M$<$))EP@$1@$J((SX-1YQ*3"Q$H''RM=>7$^M?WP_9HN>%Y8@XUB]1%_N4+X M4?'X>+E@#+LW_'H^XK7&D1N3,&(I5_MJZ9&VB2',(8#@N6L6+5U^,0 ;_=#] M&B^3:NN\=O>9AQO<7#N2SYQ??XZ6CEONS78=/'<>IX2"5C:/V#-(2Z:0PUR; ME.=0VZT>5,>NQW=]IA^\7M.54FG9M@.3W,+Z]OORGB)K:)LIH[ 4U#MDHX5 MUH+)=TKF0)9:;UE2UIP(F,,?[ >=UW0]-)R\VP$1B.V_HI]?=>^R7SR=K;B+ MC]+#UU8GFG1N9JU"!#\71Z0Q-XAHB[TCTDG99WCS21_M!Z;7=!,TK-R; -23 MQOK73E*'@4R4B,2(1XB1+/%97$E)$X-A_7JS/E^Z'SA>TZU,"1DVX+8_PO"H\)%*DTH/4^U#5S]0 MO<9;EN)::0!I]XP\8NZ=G7V[YCY7,YJ8^Z9#H.LY1LYJAXRQP0>3N*>J,+KV MT=*O*ODUWJ04D7X#*'JHRKCGZ)IBIQB &S6T<#V*\_%_%LWS>GB-[>Y.SNY9I1+231!B8,7QTU^ M7VX)>'%)"))B),*5KG7I25H_>+W&.X A=-,>Y,*;2?@2YZ/IKL*):RZ93X(( M!">W03QQB:RC"D7%/1:1$U_\= M_(A3>[,L.[Q_ R!][D1G$E+2@M2X%,A&G*<:)PA4N'::ECY6^]+6#VZO*7T^ MJ'8:0-UN?^%+S$T98#\]. Z/AO!L7 A%P8O0 CG#).)68V2EA.!9X422LB[Y MXE.HSZ:V'S)?4W;^A378 %9_&5J[MPO MBSOJ\T"SS*[=;@!3(B9Q#:#Z&O*>7_+2YE?M7"%)OO"I'>#\"OZ5JBIFZ+0?K_ M^[=G^@"I_&/YH^5/\G_U):;_E?_Y]R\?[M?WRSDW?\;Q^%NTX7_[[G;U@?=V M-%UZV+\M7:)5Q=77Q>TMB+Y+&Y$L1R M?Q[L_/X_^27.[6@\>\KD;'3[?7RL MMT&)K_[; ]/;XEA__ DB7TP \><\3D(,_^]E)NCA(Z.9'W?YT[,W#D (?%P+ M#N!7RJ!D\_!" @#4"9Q3G\N 1& 0'I7.ZQZBYU)S>[_V#G%_R@]7%],<#[ZU ML]'L[Y/.S>+T1^[T]&'R?;&L;)UX^*^6ZE]U@'(@@KP_D?$ZETH1B:SG$GDI M17;;B8F]9MR=(Y]"/-1M2E0,?=O6MZJJ&_ LWH\F%EBPXP\3D.9B^;8A=U0D MC#/MI45"YC;D+F=OB4KY@5@TQ'"/RR-V-RF- *\*/K;!6D!9#6!N^=X?OCQ[ M,PFKYP0@P4]I!W>S*UARMOM'Z]Z..K#H'!-(D)BG5D6!M+ >6>XCL2;(@$LG M"DK27QG=)0#U+)E52;N5R[1^M=/)I\7\WFM?MPE5/-_/FX@D<11QBA-RRN7' MCT%J2H #:8YXI_M7KXN>>IKNBHJ],G ^+^:?OJ]"A:<\)#@HDD\>2>QE[AL* M$9U7#+:B<]HXAS'I,W=NW_IU&_LU 9XBHF_@1+WW4M[>/0H;WT_C/Q=QXN]6 MDZ8#25B X\%X[E?,0D1.-6J0#:NM1I%F02%EE98:3!G'@\7&^\EJ).HH!85]4"NDET:A-KO?P9NA M)"Y%EA1&Q%C@246-',,"$293C%0J8DH'"WWH:@1LI<#0 VP7::8EM+V]N__C MOX_B%(CZ=O\[?>WDE'H[3&"$L#9TD"3]H0DA 5!.L0.0W%Z[)/ M(K 1 UD0(7UL9!%UM83%Y?Z=+25&UG9?!TTY9PI1RS%$;C(@1RU&SED)IX#D M40]F(9^3TPC.RH-@']PNU$BCX*(;5ER@WFB""'$D7\MK9"1EB'C'B1(B)EFZ M*\4!W.\=);4;9W*]BZGNME8M?1S>341IY.YF_FEO8 Y% M0TGB+ 5+!KO-&8"?1@SYI:C ZAJ%X*:R)<%VMA J.*S!-[+> M(\MR,9.DSC+KL'2E9PCMIZ8N#,MHNP>$SA!]@R#Z,IK]X_TTQLV,W-P!;S.Z MW&$L%3C<+ :.. 'V',40CC)""J;@K^A0S7AD2Z.AD+)VC')JG1EX<-.=CM@2E!K;6V\4,2)_EX5P.#-!JJ/TDSRD%+<.? M9B, BMVR(4_3R]>Y/S"-X#]!/&C G4I@GKR1* BFE&$N&%DZL"I ]E^R!O%, M''9U0?%:'T&\^Y9S+2"KP1\[[/_2BSQJZ,GH2SQ>X+FYO<]Y*)=Q':1"CED( MY:@VE!MNE=5#'=6OH36S%I;JR S2UEG$HZ#(6"X0=B%0IT3T_2['ZCR8;/V1 MPBGH&[PU\RFJ;L#5>-1VY&$4P-C.9LN<#-8Q0$P2$*%4YFXC&CEM&"+.JI24 MT+CXH*:#!#4"PBI8V=]1Z$+%M83"RR6[+8YUM(Y%@/B$,.2]!U%+8Y#AB2"/ M3=*&F&BWVYRV9(%W,]7(;K@<@,/9Y )HJ)RI^P)>W[WSEXN&)K/-1:)SAG@: M)&(V^EQRK9%E5L"Y9T@>T^(B%D<W&'P]G7T+.02E5-D20'LU_:%<.&QT0"IH MAKBG!EE""'(8 W,R8#9_3(O!DQ!R48O!4]35$A9WM86BD03G@(MTES;J:J3%X$D@.*51UPD::0%<>\HB&)&6)@?BR8^/ MN5<*60Z"TC*Z*+$USA1/'35=(-7$65M 60U@KNA].(4MEHC " MP>CD/N>$> M>-3*VR!%B&TP9$F2(RT7F(S()6 M)ED"[/VK*.I$31\OBCI%[*T618'?*QT.0+3D 43B!;*2>_!8I DJ<16W!W#_ M3RV*.A<\143?P(FZN:1_X_^Y&,U&2QTN8RKLHQ*$YCHQ8$,*L.,$& J>1F%- M8$:4[NZVAY1&2I!:\.)***M1S.4_3N/FW:KA0C!%+7@1N6>QE;"), 3XG@NM MK)2.D-(3V8\25??$+*+Z'G Z7P^5S\+WX_CSZSS&\=H.8RF(],Y -)UKFW,W M0"/ +%.P[A"N\PA_Z'$$;BW;'@@N4%A71GH-6)1!>OL:;Y,7$KP".,\13RK7 MGLF$*'B'3'#XR7"U!"_=-'RP=AA-G9_58?+7VBKO[-@OQLL_?NG&X_?=]$\[ M#=?>&XDIG$;Y*2_BE"CD*#7(,,(-$RDDUG#MV&ZF&LE/5\/MZ5I$$DPN?=0IY7'.N?J84O!06&!;) M8@#9Q8S\979/";#VN(!\6>2(:T6C;GTPS$(R1RP7$ME74)#W;Y.31S?YD*DX8V MV[ (^\N>7]S E\ ,H10]A)(XY&$F$B-MM.!4"H8Y;V2;77Y^O8:+Y(:V5#GD M7'A^_3H)1;;0+[#:#V#M1]R8A4^3AW_W>YQ?4Y$4.-<<8:43XL029)FQ*!#% MP=_V+O+218E'B?K+G!9E INR2CP=F6:%S$F\L?,8KJH\3/S=3J=+=@L_0WRV M[I"/#@\S\1)/#'4D6//H$ NUR)BA8QA"ED=E29@W:(>+'A[#4\,<>*,*AN0 M@\T*'I+"R#H6$4XT)0F;BX?!G(.__A/#4] W^!/#4U3=DC-\N.Q8"1DLQPQA MEU].D!C@)* )?!23#%!NP8=I]XW!:TBWG(&>\]X8G*+*E@#:JUZ9*V9R8W 4 MA01?FN02%XH=2LYB&IR)Q@XVJ.\O\\;@)(1<],;@%'6UA,4=<\W!37,^Z( $ MER)W#]%($Q&1$A[\< \_&^Z(/W/2?"-O#$X"P0F3YD_12$O@*AD?,A:TY_W7$+D7/.5KP:2%K=)-X^AF\@Y8C1-_ MESLMY4#@(;&V:\8T%S81(B4*).0L-;'(TL@1"4XIZ0,ANKB!/H/.1BQW-71M MPWUH5;?;2>MKO,D'YY?XO9OF3F(%,K,23;?<] M)UHFIXVVB"@0#9<\(IL+#Q4QU :CB+*E3\C]U-1U^0;%T(6B?STGUJH;XNB_ M8WCT*BEUT]OEM]S=^O?+G61%Y-<)H:1I@G#/K,,7-%H$=92 M6,<5([YTG?L99#9Z?IZ"G6W;-[2R&CA9OX**EJFNS=.5C75?/U["@G-F,POY MNM[R_$Z<(!&%),H++55QY!TBJ#+&AH;#-OR*Z:8%H*W/CW6?-">P)L8C24R> M@RH,LL(2B*Z3E"D107WI)PA/"*@,I'**W8;,V5*N_5(>5)#3(,M<23=>\[$9 M7QJ$MIPHI*U-B)N@D?8D(0_[B81D$Z/LB--U[!M-G%[GJ*T;0(:5L?#U>]>- ML_5<-KSOQMW-,J&W9(.Z&)17$GGM(' UT0 ;P NG$?^5U!#C=F,["],5S9G]>! MT_R>QR"13 09.H)TY 1YF79W4_3#SP ME&NAX90/7&DP[DI*$%E,%!D7* H)@V&W47L7"F-O!QE-'*'#8>M2P3> G0\3 M6"O.YBL.U@VG?^\FW8:U926]HB[EL1=N6:)*(O"DK$511QQ5\"&XTL\A^M!5 M]['/X.@JKIJSX?8C3EU7REC-O\7I8RZ>L'<-L2WV1I,\9L6!4RHB74T02\'BSQYL0?31:YZ]SW]02SV=L((HRKWX/# M/LY^_0E> 2AR-+'3NZ5$01Y^%3J/EQ)9[MS^PB^C M\6(>P]N[=]WM;3=9#C19Y0.$P4DX:I#6>2O29)'&(H]WM$X2%RSA:;"KQ]YD MUHUEBV!G_]7C,,IJ( :YOP59LO I?9UW_A_+&Q!ML2":4,1RT0H7' 27!_&1 MW/E51IQ\\7?8>XEIYMD.H3A((+\6B-QD^4BD%8, MMJ.1"3R*X*(J;-EZNV*RKH%M#SLH3>;-M'.1\-C0(3;D"=^!/#S MI$,!W#RFG&0Q%$?+,RKJHN52O6[#Y#(AMP63MYMF]'"BI^ E@H@ECS9B"1D- M K&2!Q,9UR2*X6#RMH4KR^%@N"*=<%:(Q1AI, M-O(R)II4<(P4?U#QF("Z:"F@T$,0.4FZYT.CF]OQ (9E/I^.W&+Y".2J^Q)# MC+?YSWO2I4$D@PGU2&GP\'A0<&I3B#!4+C,2D28GS:#FYR1RZQZ \-N0,U5 MKA5\PN:JS2=P\CG?+H#F3F/;F$ HU@F1$"+B5A%D.0\H!2>DU>!W;O<+VEE; M6)"DNE?=Y4!94U,-'+#_$4/,C3NU-W#RI6[HCLT^+^6QN)UD8:]?D MX5'XTD&YE[S0FA"B#*)Y_C=/ AP5\%D0;$DI:9 :A]*%964HKVM;!W4 *ZBV M=4!_F,T6$+'9V$C9Q$KT/INHZ^M-7U,VO@ MYA3HGJO$!L )9\NJ>Y,=KY(&*XZ>'C'+?P?LQ?#9WBV'HTZG=G(3UR^;'0[" MXMR%"3O@F&CDL%]V"!=&^RA3\3+*RZFN:V4; /0+*[Z)PJ<]8E]+^9GTKXT0 M4DL-_A*!$XY+S)%5^4Y:PB[VB2MM2O?$/)'$NCYO S >4J4-I!2VW;'5&2.# MBRE!C"D(3\ $.&(V:8\BYYN*E;AEF@S@[1T6UQ\*G%'UN$'9?3/K% MSN/?P;5XWTUW9RY6OPE,,JZZ1:3J;@+IG M[" !^YP2.8N;M/Z=FW[A%WME1Z?^!,,Y/77Z^Z^@9]Q%3;Y-W0L_ M^T<)O_OYHE5RC@5\[[WBJ:R]K_-_?)[Z3].KV?37V7RT>E_\6YQ_ZT(93?;Z M0)4,WR5:/45LE37\*$=9T)3N7[6/+F5+NCPJH'8.P-^[^7_&^Y,Z%MJBO3[0 M1ZVJ);6>(K;*&GX/BW:3N.$4G.[?[>UE;NJ>)?MH4;>DQ<.B:4MOORSB5;?N M"P-\YGX=?NE:7VIL3_E.'PV;AC7<1X@-JOV/4;>:1?\I_7MW&]]UB\E\>O?1 M_CF$[@]^K%>Z +>.@#[R;! &P/$_%W8\2B._IO[*_GP;)S&-YK,AH'#T@[W@ MT-1MQ25R;0L28,;&=K(F^,/M]UP) RL!IN5\=W.^V(O4#25J+I(LNU$8"5= MO /+]M)O4ZFMXS)J3XF%X^CM97LIL:E_='+C);MIB<^%BZ M\*?/^A?L:Q#.Y;4^]XM4NW ]00N/=^0V][4OA'Y&O\BEA>_ 3-QTT[N+2T=V MKUA/3=OR[GHR7SN1/!YOD_M57QU417>:7"JK[G/L"NCI896: M-27'9=T=8+Q^D0^0]'L1=6RO5:UZY%2E[!'"OVH57_*D^5=]XK_J$T_33?BO MJVX9CU^Z/9ZN5*V,ZM#NV,EL;06,Q_=DE=D:V\O5.]9WBKOKPWMEI?P6;0ZP M+MX3C]>I5J1V:$?L8+2V4[NFMDS2[?EJ]8[MR^+XUNXOWG5?XSCZ>0QK#%U\ M=;%[Q7H'R7GZ.BB7VG$*D!+NG?I/*8T\K/M^4F:O'5^]G@D\3Y>]Y57;9L8X M_=NT6WQ?=ATJI]%#ZU:KSCW7CAZ746V+^BWWT0GWA);2XJ%UJ]7EGFM=C\NH M^E[LKKI5!Z6+[X&WUZI6;GOVGMLIB_H:>N/G$(F/[S[;42BDJ%U+5BNL/5]? M!R13.U#.D2)0F*DJ91KWK5FM7O9,Q1V136VWC^=T?=KQ8B1+"F]OOR^?:HP3$1."VE'9/_%2]@M,SU7V>*&N'C5MFYH_9 M\A!9=@;[UHU!RE_FI2+)TSY5KU;U[-S=.:)L3O_WDP*&TOJ.#]0K62VFZ_UB M:T[#SY+,0VGZP(=Z:;RIW-$98JRL^1WF)W.^3GZ547K?;_32=TO9IQ.%U]PF M_S3_%J<#[^_=W^BEZI825R<*K_:NMFXQMM./H]F\X%7W_E5[J;.E=-91 =56 MX'/+ZFKI034(;'4?NJ<':K,42&%[5JOE[Y: M2A@=$$H+*?XB[3$?+]1+02UE>7:)H;H3TEU<*KE9HY<^6LK!;#'?1IGWQ>HX MM5Z5MI0F:;!,M9O\#1R7-6&_Q)F?CI;7,(7J5(\OWTN)+25 ^HNL^KD41IDN M.^:8_GC@KM3U\['5>VFVI5Q(;X&UVE#CS9]V&JY&M\MQ6(,TUMC]A2(--GH0 M7Z#1QNHKM\M// /#>1MAYXJ7[-OU@K]-OH_RHH7VZ]Y5ZSU:.Z2+)QOSF$1J M6]H-?07[=N];L]XC]9.UU60[[@UUG^&S\^GM)+P?VYLBFGJZ8K7'5"?K::FK26K/90ZR_H]ET4CBOKW[L\'^LI:P#U+5WL5=;+B#LNF M=F"^.5-'M\O9DSF#\X<=7[S=#JU;[2E4;]7UD$H+&V_V#MSD>-7=DUONCKO/ M^M4>29VV!?M)J5E]#J3&>D^F"FBO$:75;7DT7%!V6.;_:H+TKR9(EQ01K/8_ M_/*137-.$<'3M>L&R[UVT4&A-*"L937*6SN+RS>J<3);RV^:7X?G)L2SMWHN^MM^WZ] M,>GCX,+5&AA<%D:U-=UC2>+? M)V$ZOKOY&OUB.IJ/XL4#F_:O6J]SP6E:.R22%E3VZ\^I_SP=^0+[ZV&I>JT( M3E/.,^9;T,C?X 28Y_'A[^UHFM]7%U#-CC7K]1<5LMP/DQF(Y#BU=0N9QH_\LF*UN(<^$R1 M@IR^;!2HRGGVJ6?H.#.GNG?92YZDW2_W-L](NSQ'OW/!BNG%8[IX\@CM@#!J M/QV\)^WBY/S64M5T84O*I.?W+]R K@ZDZ8\*Y'_T!=<@ M_F/?/?2OJZU_76V=5DDSGXZOXO1V]BE=30/@JTPAQH%EJ^VATWR$XX*I[BED MJDID"I^N5*T&]%0?;@?[K:CD:C2_V+U^LE2U@L\SE?)$ )6U\F4QC@0[0;)7 M$[KO\WAY7>Z^-:O5=YZFIR,BJ?^^;PB='5BV6FWG:6H[+I@F#."2KMP5T\Y+ M&,$GRU6KWCS'$.X21$/&\&IZ.YF7M86/EJQ6J7F^*7PND+8L82&%[5^UVK7P M17:P.;5M H;I[6AB"UK"[17K70B?8PWWR*,)7?VRF"X)*Z"D^Z7JW0B?HYUM M"32AED=G[ 6\8G MGQG@EG$_&\5O&1]_ZAE&"EPW[E[_HES\>OGP>.E2(=WQU1NYD3RHMZ<)_)[R MJG['LHO.W[OYFM0R:>3^7VDDJWRAG@_(;WB+OOY!_C]G9_'__W_^+U!+ P04 M " #PA&E7ARV%].@' ##)@ %@ '=H9"TR,#(S,#DS,'AE>#,Q,2YH M=&WM6FU3XS@2_GZ_0@=ULU"5A#@!%A*&*B:3J4O5%LP"L[OWZ4JV9:S"MKR2 MG)#[]?NTY+Q PDS8MPE31Q5);+5:W>I'3[=DGZ4VS\[/4L'C\W^<_;/99.]5 M5.6BL"S2@EL1L\K(XH[]' MSSYK-6FJ@RJF6=ZEEG7:GRWY6^EZ.N6^WTF;B M?*;G[,!?GQVX0;)-G\J[H.?]VO*J9>*0RI7N[;??7IY9F MPG.937O?WCRX' MHX\7/[#A+\/!I]O13T/YQ^;4@-VJPFTA9 MR]X)V*(;+!+:RF3*;,KMF]VCD_YK\RAHS2S^^T?OESR.09S-3"2VUSEI'=$T MC%C*QX)I,99B FZUJ33LUXIKX#N;XGZIM&6J8!^4SEG0;O[(5,(&/+*5:;!1 M$;78GDT%>[-[TNFT^UK<26,U+ZR[$?3W$:?3_IO=X+C]ZJ+5V;IHO>,&,4(T M\BF[+]0D$_&=:/B@U:&*%4PH%+(E1N"R8+R8LJJPNA+P /G3I5+$D+,<5UKR MC"4()U.:J1P$;Y676Q$H1"2,X7I*(CF_%XP"/]=I<"^&,1@R$J:I M&&Z.T2UFX71Y&ASJ7AO>NJ\';X(ELD!$"1R+"#8 -HBC62^URR(!=W KH4<6 M45;%T F4+(6K 81)XIL2029\$FZS; ' .O;FR=# >"Q)<8,DJ@P"0)T"--QP MQMD3<9.R)%,3,X/D@J48IYO>;EC96$*6F1FS8NVK!-?AUH'K]E$D*%\$W_=- M#9\ZU=/B5TDB<;EG]EV81HQKX0"! ,LP$Q0X)H#",),FI1XDEH/[B/_H.I8F MRI2IT(]84:O,(Z/4*A(Q;ANV!R#$ LCRT1X^1"DO[@2[ .%<5QDD@BYO!D=[ MPEN!/8*_\I>2ZL'"(Y+T,V*E):!ZX) M&P^4/!HHP4#DYU/X0H(2N*N&7IAE M'P4E.-D>J.[Q_6W!ZG'K-*!YP%X3=3]"YG+6E_'4H'0:\[@*XXU):P7-F]/=QJ#& M0AC+F+#*C2HX\3HWP#F5C01@KN,9F !OR4.923NEC+YN6%I:#G<.4GY5/!)= M*CM=^GBH'2HK70+2QE4@4:1T[ QP!>B=*%!89$ V6D1)2X9$4%Q[]&)IR1(, M_JW@-]HB_'H:%F.>58ZK*+@B25 3RC'"8M;4=O.*8@/N]9?KRST'5W0$;QI? M5(:JLL];L$EVX'-I015S\N4=#0MGM;A;@?5,P!Z'-AK@&T!2_@24KF*HHJ3:%?RIQKM.;*6-RG0TCH,A$4U2JI2;>9E!W.&\X716# 3$>4R.!.H M7:W29I[AW0VHS'-IK1"?20.A0@U![;&$?4[)'B ,UC7$ZOBF"GJV[L2OE83Y M;HU51>2.$_;_O\WZ:_,[G?E0I2B!.-K>TD8YD@+XJ'/T?+LS$?R>DJZOU%S: M=36F.\:]EN^U%V_;MABB%)QH$TD#LA:,]H,<=/=I\MS('X$8H/M3:H36YE!P_'YFW2ZJ;@V!1*&; MF.^,ET;T9C_Z(/(RX].>+-RLN4[]6E>HK%4YJ>N/*2&@>*B?@#I4^>;%L^Y6 MVS_OMAK_\6SDNKGEF@YLO-IV=-3Z_O3XV>9V*WBV[7-J#SLPZ' CM0?.9&\V M9L:4O'B[T]V9=:CAT^N4#RQX_%R;$/5TV#7Y2EV"23E([ST9/B1XYN&-HV3EJOH /7%Y: MX^?R2U>E,NYI8,\?@(_%RFM8BZ7L$EM[T86'6,^57>WRA3>WZD__$MF!>WGM M-U!+ P04 " #PA&E7D:#6KP$( !T)@ %@ '=H9"TR,#(S,#DS,'AE M>#,Q,BYH=&WM6FU3XS@2_GZ_0@=ULU"5A"00!I(,52P;ZE*U!1QD=^\^7XG+DLO^@G(Z.(O M_;_6Z^(''989Y$Z$!J2#2)16Y6/Q2P3V4=3KE=25+F9&C1,GVLWVL?A%FTZK5B4Z#C\< YX$\"3LGP;G\ M>-;LQ">=$)HR:OV[M8==4=SWL6Z6PJ>]3.7U!&C\[DFG<+VIBES2;36;?]MC MN8M^K'.'@QGL["^]CC5-#IY<7:9JG'?9GSW?==XWTXK>U%/JG*8V]]JD]&# MIT0%RHGC5J/]W.)5KZ49H^-.%]@+U:[8'N),@_E*QE\-[D?#Z^'5Y6AX>R-N MK\7=_?#F:GAW^:.X'MYW5ZCQ.#^5>=VQ9F[G^X??KJ\&8G1K7@87+%+ MQ\TVN37Z^T \7-Y_?WDS>*C?_O/'P;_$Y=6(6MK-YM9A^TI^#6OBP4&10"Y& M,DIU^%@3(1BGXIEPB70?]CMGO;=!3^411JI[?/K5G&HUYA;_^:/W"AE%2(WU M%&+7;9\U.C0-0Y'("0@#$P539$^7*"M^+:5!1*;/0-C99V1N>,'K=XAQNF\]V&_==I\=]%J M[URTOI<68X31R&;B,=?3%*(QU'S0JE!%&DW(->9#'$&J7,A\)LK&>43$6,X13:")TAI3OMY=8$<@C!6FEF))+)1Q 4^(5.B\\B- :' M3#G3XA@D$"J#F17%L4&&I"*:$W390J(>FAMQNMK*W@R\Z-6;/V'4/L9.<@ M-GH6#\H=K8\]6X&H2OM$!#J.%=X>V$,.UE!( PP+#+,*4J#P"4 L!JFR"?4@ ML0QYD+B0[B-EPU3;$OL10QJ=>GP41H<0X6,K#A .$2"^?,P'3V$B\S&(2R2? M^S)%B=:QK+OB0+5L/%#\;*,:!R,^7 M($8)2N9<&;T1F,^"TCK;':@>R,-=P>IIX[Q%\X [2ZSZ,62+&'KX,6*U>\"H $D36Q?X0_1:6W5TP!SL$YN.3=3!O M35UKF-Z>]+:&-BZ'B8H(L=+J7!*[2XMHIT*28"Q--(<4@ES)0*7*S2B[;QJ6 M%ABCCX'EU\8ST95"E)/(4^5049H"@6VY&@E#;2(V@$O2,>189*2(;VR!@A8. MB6"Y[3&,"TP5R..,XF\ O^$.X=>3,4QD6C)C47 ACK$^5!,,B]U0YRWJBBT8 MV-]N+OT8KM@1V=/Z C/0I7O=@FURA%Q( U7/\9?W."*8U^6\ JN90'L8;33 M-X"X:(<05S&F#^8Z*&BC715PW+(1>6_@24KI.@Q+0Z%?R9\;M&;:.GQ.!Y&H MRX:HJ#K#\:&X60(^(Z#C@[Q8@X M*?!\5(0]$ZEZA+0Z,'@A7_O=4[3 ^?OL-Y<9:];JP3F(%Z[2QBPS/#U!EEBGG #Z3!@*--02U1PKM8R4'"&%D74NL MCG^ICIZO._BU5&@^K[$R#_EHX?#_FZW_;7ZG\Q^J%!4BCC:YM%T.%2 ^JAR] MV/1,03Y2TO65&J==KC'Y8'-^%O0FU%7[$W_$L('29(0=+2P8[56$5I4I=D&8 M80%9\YG?8MJW98;PP$EB9ZI,LO'4[+>RW>ZB;?=V0Y3"8X,$4L/8 ],>HHRL-"=7_20R(M4SKHJYUGC3KU*5Z"=TQFIZTTH(6#Q M4+T%953YYN7[[4;3O^-V!O]'\Y&KY@8W';EHO:W3:7P\/WVUN=EHO=KV.;4G M;33H9"NU1VRR-QMGQA8R_[1WO#?O4,&GVRZ>1.OYNVU"U,O)\?/RYR\TGOT? M$+NN*$UR+S[J1Z1/5%:<"\PSD[N//'7.C2FG.'KZVK(TXJ&_Q<_4JJT)9?ZW7]&?8$ MUKZ;6JXPSDK-91<9X#(KW7J7+WQJ5?WZK[Z.^&NS_P)02P,$% @ \(1I M5_+ZH^&7! U1$ !8 !W:&0M,C R,S Y,S!X97@S,C$N:'1MW5C_;^(V M%/]]?\4;U7JM1" A0$N@E2A-=4A3Z0'=W7Z:3.P4ZY(X9QM:]M?OV4E:VEYO MW"9=NU45(GE^7SZ?]\7&@Z5.D]/!DA%Z^M/@9\>!/0G[F:U+(-=<).ZWL#)K%\Z!IG0P6@FY. M!Y2O@=.3&N\>=:G/XN-NN^VWCWR?]&BGYQ,6M5V/$-K[PZNA*BXO=)3>).RD MEO+,63+C/VAW#6&0:G4E4+KX6-IY9TNQ..R3A-UE@ M\=0*U4H02)A

C\.+R#\%(ZNY^/?0GR%TG#Z(K"W N3J M>CJ['E[.83X![QBN&[/&J &S<&2!>7['K;]Y#,,9#,\G5_/P'+;A5"!Z;M=D M:/X^A-EP>C:\#&?.Y-.OX>\P',V-I.6ZK>^K0)Y1!!SXW?RUNF>^Y HB)C6/ M>40T%QG@BUR*-:]ZAO:1 QZ"6#&9$+DC'E3.X2MH%A MI(W$T%#?*H)2S]8 D(P"B2*1YB3C",.8^; B$K.>;&#*40BO5)U&&=1 PZ,TO[><:OE]D?6 MW\8^>?U#( IBGJ"=6ZZ7!106K237)B038G@7+4EVPW!:IRE7RO""_V8EQ=$. M2R89.MSV4<1>N6CL6@BOE/=Q'6:1T!K.#*&R#J,E9S'B1AXT7S.8Q%@0A8!P MB?ZJI)\)(JDEZ9Q+%FE,3RDI6:Z7];3!EP0)Z1SW=^Z*G%"*>Z:3L%@'G?:3 M/G&\XU/>/>>DV_+;A88Z-_/#TUPWP!E4WL]OXVI[/5-YO\/Z6R]R73R M#,==6LSA"*T0U*3XUJ:GRC7V(R8[ETR9M-:-F"0)H!H&0Q),NLHQSR@Q6C'/ M2!:9]VB0M+*.TVQCDVB)HN$5=*%D#A4'&0S(;EB M0?6E3[G*$[()>&8YL4K]TM8"QY%(C;G^V@R0B"3EJ< 632%^.*\VW.+,JO&@ MJFGEN10WK*BIZ7-9I],XZG5?%+L-[T79M\RV6QA0>R>S31MR$38RHY#IDYI? MJQ3*X@A:^1UXC\^JIEZ>DE/P\N/;R+)_CC5G)SQ*_?B^PHS1&L2#B%"N4_+9&W=>BV MM'Z5RE?\A6 M!ERCMVB'\/_%L>D_B/;@2G+<2W+<3)Y!/GQR77#?#DT[Y;^" M<_L:(A?*;DV!9 DQ9I]=3#PTAMTFW <5LL#N6.GG*G]SEU%^%MG%UL[@ MI'P>G%@G@Z6(-A>#B*V!1>>IWJ>^[W6X<=EHD;)/H M=Z^&JKB\U%%ZP^EY+669DU#CO]=JY[I_QR*=]#S7_:EFUUT,8I%I="91N?Q: MVGAF2=-[[1#.5EG/XJF5JEMQ*+B0O0/7_O6-Q(E)ROBF]R%@*54PHW=P+5*2 M?:@KDBE'4^C M)G*%P+7(40O-[L4>(M-4OE'PH_%U,)U,1\-@.I_!? *CC]/Q!";3V7 VF@X_ MX2N4CJ]?!/9>@%S=7"]NAK, @CEX9W#36#1B,1Q:8UVR[]7>/8;B X>7\ M*AA?PCZ<+8BNVS$9"CZ.83&\_GDX&R^<^:^?QK_!^ZWUB!+(L0<*_9 MR=^J>X*$*0BIU"QF(=%,9( O7,[SG=P##41F)HJ.\50:5G:P!(%@$)0Y'F)&,(PYCY7!")6><;N*:Y MD&@D@XF0*7BN\QEB(>VJ' &*"&AFXEK07--T224TT:@=I.AY1$)=J#I,L[ ! M1T;I\. ,AV)_9/UM[)/7/P:B(&8<[=PQG910:%A(IDU()L3Q?9B0;$5Q6J&TAO%'>IW58:)HG-(. 1%R$MW4$C21H MMJ;P"PLI7$FJF*E/R\@H833>6S*/L6"0_VTIY$)PLN04 AHF&:)8&2X579F= MK%ZI3UA&LI 1OE,WI@/<+E4A'XQ5Z:I7A;G!EP29;9_U7]U>.8DBW'P=3F/= M:[>>-)SCG;T9\T?>\1;%]W?_F)=.H]DR/ 3(>=5Z<<&Q#TU_^R@ZWE7#0S?M.JF:#EZWV<)4=OLF]?^'=/KO M,ITLP[F9E@,]1"L$-2-\:].SS35A9NCFV.T MM_W2CYC*.=GT6&99LDK]ROI2:"U2ZV!M1DI(>.7$^BO%#T?AAEL>AS6>@76T M]5R)&U9THJ/GLG:[<=KMO"AV&]Z+LJ^9;?D84.M59D]LR&78R(Q"[L]KS=I6 MH2J7GI_?@_>8;5-!3\DI>?G^C679O\0JM#,?9F)=[O7=@M?@>#-#V7_0@;N^,FMQJZO3NR.\33E!-#^;/[DX<.LUN.^Z!"EMAFA7ZN\@]7+M5G>?MS8F^=_@)02P$" M% ,4 " #PA&E7UC=X,)XC 0#UFQ $ @ $ =VAD M+3(P,C,P.3,P+FAT;5!+ 0(4 Q0 ( /"$:5=*J['-D4$L! A0#% @ \(1I M5YTQ@OGO'@ ASD! !0 ( !M#,! '=H9"TR,#(S,#DS,%]C M86PN>&UL4$L! A0#% @ \(1I5P['9@ 66P$ !0 M ( !U5(! '=H9"TR,#(S,#DS,%]D968N>&UL4$L! A0#% @ \(1I5[NH M.21G]@ C#H* !0 ( !SKD! '=H9"TR,#(S,#DS,%]L86(N M>&UL4$L! A0#% @ \(1I5^?_;6:RD@ 8+X& !0 ( ! M9[ " '=H9"TR,#(S,#DS,%]P&UL4$L! A0#% @ \(1I5X#,Q,2YH M=&U02P$"% ,4 " #PA&E7D:#6KP$( !T)@ %@ @ %G M2P, =VAD+3(P,C,P.3,P>&5X,S$R+FAT;5!+ 0(4 Q0 ( /"$:5?R^J/A MEP0 -41 6 " 9Q3 P!W:&0M,C R,S Y,S!X97@S,C$N M:'1M4$L! A0#% @ \(1I5_J!9/FU! ?!( !8 ( ! M9U@# '=H9"TR,#(S,#DS,'AE>#,R,BYH=&U02P4& H "@"4 @ 4%T# # end